Introduced an automapping primary key feature

Automapping primary key feature on mongo db repository base using two
internal dictionaries as conversion tables
Merge remote-tracking branch 'upstream/master'

Conflicts:
	SharpRepository.MongoDbRepository/MongoDbRepositoryBase.cs
Changed specific private items to protected
Changed string to use BsonType.String instead of ObjectId
Fixes #85

Now the factory is respecting the Ioc loading of the DbContext if it is
completed successfully, and only falling back if there is no Ioc
container defined.

Added 2 tests to make sure you can load a Ef5Repository without defining
the connection string if you are using an Ioc dependency resolver, and a
second test to make sure that the DbContexts loaded are the same since
the Ioc container defines them to use the same one