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.

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!

Any thoughts or feedback about the implementation?