Service layer initialization
Added DSL support for explicit service mappings.

Can use ServiceLayer#mappings with a block to call map(key, service)
to register that service in the ServiceLocator against that key.

The service DSL keyword can be used to reference existing registered
services by name

These service mappings will overwrite any existing registrations for
a given key.
Added GithubService to demo
Added JsFiddleService to demo.
Wire up a :snippet_providers array using service layer DSL

This demonstrates the DSL being used to explicitly wire up some
services
Added user model.
Add SnippetsService to demo to use user to lookup snippet data.