Move entity mapping for void, object and duck to a virtual method

In BooJs I want to map `System.Object` to a custom type. Since `ReflectionTypeSystemProvider` maps `object`, `duck` and `void` in its constructor is not possible to apply a custom mapping for them in descendant implementations because the `MemoizedFunction` cache complain that the key is already defined.

This patch moves the mapping to a virtual `Initialize` method that can be overridden in order to configure custom mappings for any type.