Added commit path filtering.

By adding a filter to commit you can commit only certain features or featureTypes. This is useful if you have a lot of changes but want to split them into several commits.
Optimized commit path filtering so that it doesn't create multiple trees.

Revised the way path filtering is handled so that it supports multiple paths for filtering.
Merge remote-tracking branch 'kelseyishmael/commitPathFilter' into commitPathFilter
Commands are public API, so guard their internal state when setting mutable arguments.
More logical naming for methods in ResolveFeatureType

Added additional test to check the case of passing a feature path
Revert "change version from 0.1-SNAPSHOT to 0.2-SNAPSHOT"

This reverts commit cb07e6b654bb4b55752b77ffbee9fa19770c1aa1.
Reorganized classes for attribute serialization.

Changed some depending classes accordingly and did some code cleaning as well
Documentation has been also edited to reflect changes in the way elements are displayed, since that has been affected by changes in the text serializer.
Merge pull request #60 from volaya/ResolveFeatureType

More logical naming for methods in ResolveFeatureType
Merge branch 'text_serialization' of https://github.com/volaya/GeoGit
Remove obsolete EntityType class and improve FieldType.forBinding()
get rid of switch statement in HashObject
Add datetime, date, time, and timestamp field types

Fixes #64
Update to account for binary format changes
Merge pull request #66 from dwins/datetime-date-time-timestamp

Add datetime, date, time, and timestamp field types
Add support for encoding date/time attributes in TextSerializationFactory.

Also fixes a bug in DataStreamValueSerializer that was calling ValueSerializer.write
with the Optional<Object> instance instead of the Object itself, and in
TextValueSerializer that was calling toString() on Optional.get() instead
of Optional.orNull().