Add __geo_interface__ to results of shaperecords method.

Previous commit was initial implementation of __geo_interface__ on *individual* shaperecord objects.  This commit adds the ability to call __geo_interface__ on the results of the shaperecords method.  The resulting object from a call to shaperecords is now a _ShareRecords object that is a subclass of a Python list with the GeoInterfaceMixin.  The geojson resulting from the __geo_interface__ call is a FeatureCollection object.  This code is currently ony working with the examples provided in the geotime.py example file and will only work property when the data is homogeneous objects (ex: all Points) but this should be the case for all shapefiles.