Allow a default cost to be set externally

Currently, if you're using bcrypt-ruby externally (like in a Rails app), you can't re-set the default cost to match your own business concerns.

It seems like a common desire to do something like   BCrypt::Engine::DEFAULT_COST = 12 in your config/environments/production.rb, and a lower value in development, and an even lower value in test (although that last case is actually already handled in Rails internals).

This _works_, but causes a "warning: already initialized constant DEFAULT_COST".

This fix allows setting BCrypt::Engine.cost = some_value externally, defaulting internally to DEFAULT_COST.
Merge pull request #63 from tjschuck/make_cost_globally_changeable_externally

Allow a default cost to be set externally
Custom getter/setter for BCrypt::Engine.cost

To maintain backwards compatibility for people who were manually overriding the BCrypt::Engine::DEFAULT_COST externally.

Via @tmm1 on https://github.com/codahale/bcrypt-ruby/pull/63
Merge pull request #64 from tjschuck/make_cost_globally_changeable_externally

Custom getter/setter for BCrypt::Engine.cost