Implemented id_property so that the id of the node can be specified inst...

Implemented id_property so that the id of the node can be specified instead of using neo_id, see issue andreasronge/neo4j#354
    
* 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
* Improve the speed of id_property spec and mock more