Allow Client to take an arbitrary base URL

Provide a NewClient constructor that takes a Config struct. If not
instructed otherwise, configure the Client to use the actual HipChat
API.

Allowing clients to override the base URL makes end-to-end testing much
easier.
Add Travis config
Add tests for posting messages

Pulls in github.com/smartystreets/goconvey for BDD.
Add tests for room history
Add tests for room list