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 

I've recently been surprised that indexers don't throw IndexOutOfRangeException, so quite likely the exception type thrown is a bug from when I originally wrote the code, and I don't object to it getting fixed in a separate PR. But if fixing it doesn't break a test, let's please add one.