Implemented id_property so that the id of the node can be specified instead of using neo_id

* Reimplemented Neo4j::Config so that default value for id_property can be specified
* Allow Model.property to specify index and constraint

TODO:
Use the Neo4j::Config to set default value for id_property. Probably need some callback from neo4j-core when session is started to configure the id property since we need a session to create indexes.