adds Instrumenters to library

- Instrumenters::Noop for when an instrumenter is not specified in config
- instrumenters::Memory for use in specs

refs #17
adds Instrumenter::Noop as default instrumenter in config

refs #17
fleshes out instrumenter support at the DSL level

- instrumenter method only used for setting config[:instrumenter]
- adds instrument method that passes arguments thru to the configured
  instrumenter so that you can call `hyperdrive.instrument` from any
  where in the code (internally or by users of our library)

refs #17
adds sugar for calling the configured instrumenter

adds ability to call `instrument` instead of `hyperdrive.instrument` in
callbacks and request handlers

refs #17
avoids use of to_h on Struct

ruby 1.9 complained, so that method must not exist on that ruby engine.

refs #17
further protects against nil

ensures that we always have a valid instrumenter, just in case someone
manipulates `hyperdrive.config[:instrumenter]` in a way we don't expect

refs #17
Merge pull request #30 from styleseek/17-instrumenter

17 instrumenter

refs #17