Fix potential minor bug in MongoDbEventStore

While reading through the code I noticed that the replacement of prefix was hard coupled to prefixes of one character even though that invariant is not guarenteed by a precondition check. If one ever wanted to change the prefix to be multi character the substring wouldn't be sufficient.
Keep usage of passed in dictionary readonly

While reading through the Dispatch code in the MondoDbViewManager it wasn't obvious how the new view instances would be cached until I noticed that the cachedViewInstance dictionary was mutated in the GetOrCreateViewInstance method.

I made a minor change moving the mutation of the dictionary into the Dispatch method making it more obvious. One very minor caveat is that the cache will be reassigned when the viewId was already in the cache.

I never liked it when things being passed into a method or function were mutated - but you know how I love immutability - that's why I always had a bit of a C++ const reference obsession :-)
Merge pull request #30 from ssboisen/patch-2

Keep usage of passed in dictionary readonly
Merge pull request #29 from ssboisen/patch-1

Fix potential minor bug in MongoDbEventStore
updated changelog
added some comments
renamed something
cleaned up most tests to use configuration API
make it so!
failing test
introduced naming service
renamed the type name mapper
added comments
more comments
added type mapping stuff + test
pass type mapper to aggregate root repository
update changelog
added new Create/Load methods on command context, aggregate root, and view context
test to verify behavior of Create
more testing