Add expansion of resources.

Review Request #1560 — Created May 1, 2010 and submitted




Add expansion of resources.

Any sub-object (results of a query, or a linked Model) will now be
represented by default as an href. To expand any of these, callers can now
pass ?expand=, which takes a comma-separated list of resources. These
will be expanded. The expanded resources listed may be items that were found
in other expanded resources.

This is a decent way of reducing the number of HTTP requests going over the
wire. It increases the number of SQL queries, especially when expanding in
lists, but those queries would be made anyway.

This is dependent on /r/1559
Tested with a variety of expansion options. Things seemed to work as I'd expect.