Fix BuildEnvironment initializer
Remove knowledge of serialization details by marshaling twice
Define 1.8 marshal hooks in terms of 1.9+ marshal hooks