Add ExtractToImmutable

This is an API which allows for a zero-copy creation of an ImmutableArray<T> value.  

This is an alternative approach to the PR #154