Requesting empty subsets causes nil arg exceptions

When requesting a subsetFromObject:toObject: that starts after the last object, it tries to add a nil object to the class, causing an exception. This simple fix adds a check for anObject before starting to look for the end of the subset.

-----

Added test cases for subsetFromObject:toObject:... that demonstrate the problem
and validate other empty selections. Check to make sure anObject is still valid
after finding our start position.