Permission mode updated
Add long identity strategy
Add short identity strategy
Auto register identity strategies for IIdentifiables.

Can possibly break current usage if id is manually set. Need to ignore.
Does not increment id if id exists.

Backward support usage of InMemoryDataContext so that it does not break
tests that sets id manually.
Merge pull request #55 from longility/master

Additional Identity Strategies and Auto-increment Id for IIdentifiable's