Add --open flag to cargo doc

Opens the generated docs in a browser.

Since it's more a utility feature, I didn't write this in a robust way. There's no error if it fails to open a browser.

Is something like `firefox` guaranteed to return instantaneously? These all wait for the sub-process to finish before actually letting cargo exit. Another option would be possibly using [`Process::forget`](http://doc.rust-lang.org/std/io/process/struct.Process.html#method.forget)