Add general property indexes on foreign objects

All non-Grace objects now implicitly feature the methods at() and
at() put(), which correspond to a direct property getter and setter
respectively. Note that this translates to zero-indexed access on
JavaScript strings and arrays.
Add single argument methods from Math onto Number

The Number implementation has been fleshed out with methods from the
JavaScript Math object that operate on single numbers. Operations that
produce NaN raise Not A Number. The Number type has been extended to
include both the new types and some missing old ones, and a new type
'Order' has been introduced that includes the comparison operators.
Add string utilities to String

The String implementation has had a number of utilities added to it,
including ordering, find and replace and index searching. The index
searching should also be on Sequence, but it is harder to implement due
to the JavaScript indexOf not allowing a custom comparator. The String
type has been updated to include these utilities.