Fix and improve usage (issue #19)

(cherry picked from commit a6558fa1ce0b12c8bb94e01a967d0aff68f29e9a)
Fix synchronization issue of MessagePackSerializer.Create (issue #20)

(cherry picked from commit 9bedf6c4b32e2dabb446557019ed25328d00ae19)
Fix .NET 3.5 unit test builds.
Fix MPO deserialization fails when stream is list or map. (issue #13)
Update version info.
Fix issue #24
Fix PackerUnpackerExtensions always ignore SerializationContext setting.
Fix ObjectMessagePackSerializer cannot deserialize array and map correctly.
Fix creating serializer for IEnumerable<T> causes NullReferenceException (issue #25)
Update change logs.
Cleanup test code.
Fix NRE on interface type deserialization because (issue #27):

* Collection traits detection does not care about source interface type itself
* Creating delegate in generated code emits wrong method reference due to above wrong traits.
Fix default constructor of generated serializers are not valid IL.
Update version info.
Merge remote-tracking branch 'origin/0.4'