Improve error handling

* Return optionally structured errors with more information.

```
if hcErr, ok := err.(hipchat.Error); ok {
	log.Printf("[%d] %q", hcErr.Code, hcErr.Message)
}
```

* Actually return the error if a message wasn't posted.

This removes the human friendly error message being reported by
https://github.com/andybons/hipchat/issues/8 and returns a standard
Hipchat.Error instead.
Rename Error => HipchatError
Use constants in place of hardcoded values
Reword godoc for getError
Merge pull request #9 from tarrant/improve_error

Improve error handling