setProperties

Copy all (key,value) pairs in the param into the properties member of this object.

The declaration properties cannot be explicit member variables, because the set of useful properties a user can
provide on a declaration depends on what RuleFinder classes are available - and extra RuleFinders can be added by
the user. So here we keep a map of the settings, and let the RuleFinder objects look for whatever properties they
consider significant.

The "id" and "class" properties are treated differently.

Parameters:

p - The properties have to be copied into the properties member of this object