implement abs, quot and rem

these don't work for ratios yet and quot doesn't work properly with
floats, but we they're all ok for integers. (and do what we need for
now.)
make ranges indexed and counted.
introduce satisfies?, change instance? to check class

not sure about this, but this allows implementing type predicates for
types that aren't based on protocols.
add common type predicates
add missing argument
restrict quot and rem to integers for now

rpython won't compile '%' on anything involving floats, so we'll have
to divide and then floor. ratios are still remaining.
fix instance check compilation

we want the type objects to be equal, otherwise we'd have to implement
eq/ne on types.
move number test to the new tests directory
allow keywords as functions

on maps, retrieving the value for the keyword from it.
support quot and rem on floats
extend quot and rem to all number types
implement comparisons involving ratios
change -str implementations to be closer to clojure's

that is, don't print commas except between map entries.
add true? and false? predicates
fix the namespace of the numbers tests
fix merge conflict
t push origin masterMerge branch 'heyLu-more-stdlib-improvements'