Fix #64: Add `firefox_profile` option to new() for custom profiles

This adds a new option to Selenium::Remote::Driver->new(): `firefox_profile`. 
It accepts a Selenium::Remote::Driver::Firefox::Profile object that currently has
the capacity for specifying [user preferences][1] and embedding packed
extensions. It does not (yet) support cloning existing Firefox
profiles for use in tests, or adding unpacked extensions, but both of
those features would be straightforward to add.

The docs and tests have been updated accordingly. Pending #83, I can
generate mocks for the new tests.

I wasn't sure which of the core modules to include in the dist.ini; I can 
add those if there's a heuristic for which ones are necessary.

[1]: http://kb.mozillazine.org/About:config_entries