redoing a bunch of lost edits

classes to process ODEs numerically that don't closed form

careful handling of parameters' expansion before and after doing the
adaptive dynamics limits

changes to class names ODESystem, ODETrajectory

2d indexers

latex_output for verbatim strings

smarter column_vector

improved sage.mk for command-line use
got most of SelectionGradients website working with these updates
A re-implementation of FunctionBindings to workaround several Sage bugs.

http://trac.sagemath.org/ticket/17503:
after pickling, all functions have nonzero arity (number of arguments),
regardless of whether they did beforehand.  Mixing two functions of the
same name but different arity causes a crash in the Maxima interface.

http://trac.sagemath.org/ticket/17504:
after using solve(), i.e. after passing an expression to maxima and
back, all functions are variadic (have no fixed arity).  This makes
them incompatible with functions that have been pickled (see #17503)
and they don't get replaced by substitute_function(), i.e. by the
previous implementation of FunctionBindings.

http://trac.sagemath.org/ticket/17558:
Pickling changes symbolic functions into plain expressions, i.e. if
we store (1-u_0).function(u_0,u_1) we'll just get back (1-u_0).  This
also make it no longer work in substitute_function(), because the order
and number of arguments is important.

The new implementation doesn't store any function objects: it stores
basic info sufficient to reconstruct the functions that are needed on
the fly.  It stores each replacement transformations as
(<name>,<args>):<replacement expr>, and constructs before-and-after
functions just before calling substitute_function().  This works around
the problem of FunctionBindings coming back from pickling different
from what went in.

To work around the problem of functions in other expressions being
adulterated by pickling, and getting missed by the binding, it calls
substitute_function() twice, once using a function with arity and once
without.