Add a aggregator object to allow composition of runtimes
Fix caching/marking of default values for mutable fields

Also improves field defaults (so that they are deepcopied if they are
mutable, and not otherwise), adds a suite of tests of the fields api,
and cleans up handling of mutation in the presence of the various field
caches.
Convert the Usage-based scenarios to XML.
Merge pull request #78 from edx/ned/convert-scenarios-to-xml

Convert the Usage-based scenarios to XML.
Use a better random seed.

time.clock() is CPU time, and so changes quite slowly, especially when
using a divisor of 100.  Change to .clock()%1000, and the seed changes
much more interestingly.
Merge pull request #76 from cpennington/fix-mutable-defaults

Fix caching/marking of default values for mutable fields
Refactor Selenium tests so I can write some more of them.
Make the scenarios more manipulable from tests.
A selenium test of problems.
Make create_xblock a method on WorkbenchRuntime
Merge pull request #77 from cpennington/mark-generate-classes

Mark classes that are generated by xblocks as such
Make the test do a little bit more with the problems.
Merge pull request #70 from cpennington/runtime-aggregator

Runtime aggregator
Use construct_block to get proper mixins, if any.
create_block is a better name.
Merge pull request #79 from edx/ned/fix-problems-again

Ned/fix problems again