Fetch support.

This supersedes #203.

It looks mostly ready so I'm open to suggestions. It misses tests (again :-S) and documentation.
`NSArray` is a read-only interface—it doesn't matter whether the array itself is immutable or mutable as long as no further changes will be made to it.