Fix #75 - Runtime exception when unpickling nested generic types

- Nested generic types are now read correctly
- Adds a helper class and its companion object in the `internal` package