raise custom err if creating a new server without setting the `root`

First off this defines a bunch of deas-specific runtime error exception
classes.  This includes a `ServerRootError` class with a custom msg
that is intended to be raised when defining a server with no `root`.

The other part of this adds a check for a `nil` root when creating
a new server and raises the custom exception.

All this is to raise a friendly exception when (the only) required
configs are not set.  Right now `root` is the only setting required.
Merge pull request #57 from redding/kr-errs

raise custom err if creating a new server without setting the `root`