Subscription testing.

*Not ready to merge*

This adds phantomjs for JavaScript testing, and adds a scenario for testing subscriptions.

Some outstanding issues:

* the subscription steps need to sleep before the subscription will be gone -- I'm not sure if this is a database cache issue or not because it won't render the JavaScript until the record is gone.  Further debugging is needed.
* When entering/leaving a tagged javascript scenario, the database_cleaner attempts to switch strategies again (from truncation to truncation) which causes it to attempt to require the library again, which is causing activesupport to throw an error on getcwd (no clue). Further debugging is needed.