Do not activate FakeBraintree when loaded

We want to activate manually instead. This is necessary when running
tests in multiple processes.
Fix test suite after `activate!` is no longer automatically done
Document that you now need `activate!` after requiring the library
Move configuring Braintree logger to `set_configuration`

This ensures that nothing is configured at the time this library loads,
but only when `activate!` gets called.

It also keeps all Braintree configuration at the same place.
Add `:gateway_port` option to configure the API server port

In parallel testing mode via forked processes, it's not safe to use
auto-assignment of ephemeral ports because it can lead to inermittent
race conditions. For these kinds of test suites, it's necessary to be
able to explicitly configure what port to use for spinnig up API server.
Ensure that `Capybara.server_host` setting isn't inherited

If the user of fake_braintree also uses Capybara for their acceptance
tests, FakeBraintree::Server will have erroneously inherited the
`server_host` setting that is not meant for it.

Ensure that we bind to 127.0.0.1 always. This needs to bump Capybara
version requirement to v2.2.0, which is when Capybara::Server started
receiving the host argument.
Fix creating log directory before initializing Logger

`set_configuration` now also assigns Braintree `logger`, but `clear!`
must be called first to create the log directory if it doesn't exist.