Moved 'properties' up the GeoJSON class tree

My reading of section 1 GeoJSON (http://geojson.org/geojson-spec.html#introduction) spec says that properties can be held by most any type of data.  Not having the properties prevented deserialization of US counties found in the world.geo.json collection (https://github.com/johan/world.geo.json).

This pull request moves the properties dictionary up to a higher point in the class tree.  It also adds an annotation to prevent serialization of the properties dictionary when there are none (thus, tests did not need to change).