redding/deas — pull request #49 by kellyredding (2013-05-11 23:06:53+00:00)
Title: no singleton: have user define their own server class, run it

This changes server to be a mixin that provides the server DSL. The
difference is there is no longer a singleton for the server. The user
defines their own server classes (and they can define as many as they
want). The only requirement is to mixin the `Deas::Server` module.

In theory, a user could create as many servers as they want. Each
server returns a unique Sinatra app that can then be run or mounted
or whatever.

The goal here is to remove a Singleton - which can be restricting
and difficult to test. Also, Singletons may present problems in
multi-threaded environments.

@jcredding check out the brief README section I added for the "executive summary". Ready for review.