Add hipchat v2 library and tests

Reworks the v1 library so that the constructor takes a config struct as
its argument and returns an interface type. Also adds a NewMock()
constructor, which clients can use to test their code - the Mock type
satisfies the Client interface and adds some extra niceties.