Improve variable scoping
Cache an Index's indexed_property_names instead of splitting them every time
Simplify double negative
Indexes now cache which properties are numeric/non-numeric

The list of numericness is in the same order as the property names
returned by indexed_property_names()

We'll use this to do proper numeric/string comparisons when finding matching
objects
Do proper numeric/string comparison for 'not ='
Add method to retrieve all the objects in a UR::Object::Index

useful when debugging problems
comment out useless debugging code
Fix a bug in the test

Found this while working on proper numeric/string comparisons in
UR::Object::Index.

Setting UR::Context::Transaction's begin_point to be "is => Number" causes
UR::Value::Number (and therefore UR::Value::Number::Type) to be loaded.  This
fix makes it skip over this incedental class object from being included in
the comparisons
Be more precise about data types

When UR::Object::Index does proper numeric/string comparisons, this becomes
more important
Do proper numeric/string comparison for >
Do proper numeric/string comparison for <
Do proper numeric/string comparison for >= and <=
Do proper numeric/string comparison for between