Discuss: API v3 support

This is a pull request to discuss a possible implementation for issue #9.

The Browserstack API v3 adds support for `os_version`. (And `device`? I'm not sure if that is a v2 thing.) I've implemented this in my repo; any thoughts about the implementation?

It depends at the moment on [this fork](https://github.com/wolverian/node-browserstack) (by @mattheworiordan) of node-browserstack (by @scottgonzalez), which adds support for the v3 API. A pull request for that [is pending](https://github.com/scottgonzalez/node-browserstack/pull/15).

A noteworthy change here is that the internal cache structure is no longer nested; instead we just use the flat structure we get from `node-browserstack`. (It's implemented with the `?flat=true` flag in the v3 API.) This removes quite a bit of code.

I just wanted to open this PR for discussion so we have time to massage the implementation into something you'd be happy. Thanks for the great tool!