Add --timeout option for launch and fix Validation Failed required `os` issue

I made two changes. First I added support for --timeout when launching the browser as explained here:

https://github.com/browserstack/api#timeout30

with this new feature I'm able to launch a browser for less than 5 minutes (300secs) which is the default. 5 minutes is a lot for unit tests.

Secondly, I fixed a bug in the current version that make this simple case fail:

```
browserstack launch firefox:3.6 http://google.com
```

because it sends `os: undefined` to browserflow and browserflow only check the property exists but not its value. So, it call the http API without os.


Please, I'd love if you can open up issues for this repository.