First gem commit.

- Pulled out most of the functionality to /lib code.
- Create gem files
- Create a DSL-style config interface (still needs to support reading an
  extra config file)
- Add README.md content
update readme