Initial commit
Adding test for creating session when one is already in progresss.

Also making error message format uniform.
Updating npm description.
Creating separate files for session and slaves.

This allows better separation of concerns, the toPublicValue methods are
good examples of that. We also no longer need memoization, we just store
the regexp on the session value, etc.
We don't need to test for this.
Adding rudimentary slave listing and chains.

The chains is just a text blurb for now, that's all we need for the test
to pass.
Making body optional, setting content-type when  body is present.
Can now pass resource sets to sessions.

Test is failing for now, we don't actually have faye and session loading
up and running yet.
Making the ramp server itself immutable.

The immutable map has a property, atoms, containing the mutable atoms we need.
Using resource middleware to load slave chains.
Adding faye adapter.
Adding basic event listening.
Can now actually listen to events.

Removing timeouts etc from Faye, we don't know what we actually need to
set them to at this point.
For good measure.
Renaming to conform with ramp-session.js.
Adding the when promises lib to slaves.

when requires an amd loader, so we're adding a small shim for that.
Can now publish events both ways.

Extracting reusable faye functions into separate file, so we can reuse
that code in both node and browsers.
Displaying output from phantomjs console.log.
Not adding slave to list until it's ready.

It's up to the slave to define when it's ready. We currently define it
as when it has subscribed to all the faye events.
Test helper polls for slave to be ready.

This ensures that tests doesn't run until the slave is fully loaded and
ready to accept sessions.