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 

@stephentoub ah I see.  Yeah we should be consistent there.  

@AArnott thoughts on this?  Don't want to handle it in this change but possibly something to update as a separate item.