use rack.errors instead of $stderr
rename HTTPError to UnknownError

- will be re-imaginging HTTPError with a settable status code and message
refactors HTTPError hierarchy

now that HTTPError allows you to set status and message, the decendants of this class were simplified by setting ivars for http_status_code and message in their own implementations of initialize, allowing us to drop the duplicated http_status_method and message method definitions

refs #9
use attr_reader's instead of manual method definition

- update example to use 418 status (more semantic as example error)
- change order of arguments so we can set a default status code of 500

refs #9
update call to HTTPError to provide arguments in correct order

refs #9
specs new error() method available to request blocks in the dsl

refs #9