Remove .specification from .gitignore

Re: https://github.com/binarylogic/authlogic/issues/107

This allows authlogic to be vendored with a .specification file. 

Also unclear why it was originally added to .gitignore
Refactor Session::Password::InstanceMethods

Because it currently has an F rating on Code Climate: https://codeclimate.com/github/binarylogic/authlogic/Authlogic::Session::Password::InstanceMethods

My changes:

- extract method `configure_password_methods`
- add comments labeling the sections of `validate_by_password` (too hard to extract methods)
- DRY up `invalid_password` getter and setter by using `attr_accessor`
Reference gem ‘bcrypt’ instead of its old name ‘bcrypt-ruby’

`bundle install` resulted in this message:

~~~
Post-install message from bcrypt-ruby:

#######################################################

The bcrypt-ruby gem has changed its name to just bcrypt.  Instead of
installing `bcrypt-ruby`, you should install `bcrypt`.  Please update your
dependencies accordingly.

#######################################################
~~~

As far as I can tell, the two gems are identical except `bcrypt` has a slightly newer version, so there should be no compatibility problems from this switch.
Refactor Session::Cookies::InstanceMethods

Fix the two complex methods pointed out by Code Climate: https://codeclimate.com/github/binarylogic/authlogic/Authlogic::Session::Cookies::InstanceMethods

My changes:

- extract local variable `cookie` within `cookie_credentials`
- extract method `generate_cookie_for_saving` from within `save_cookie`

Code Climate also points out a duplication issue with `timeout.rb`, but it is a false positive.
Refactor method in Session::MagicColumns::InstanceMethods

refactored the complex method `update_info` as recommended by Code Climate: https://codeclimate.com/github/binarylogic/authlogic/Authlogic::Session::MagicColumns::InstanceMethods

I moved two `if`s to separate lines in `update_info`. This makes it clear that every section of the method checks `record.respond_to?` before setting a column value. Before, it looked like the first two lines did something substantially different from the rest of the method. This also more clearly separates the method response checking from the calculation of the correct value.
Fix “Instace” misspelling in test name

“Instace” → “Instance”
Fixed typo in comment

changed comprising to compromising
Merge pull request #430 from chamini2/master

Fixed typo in comment
Fixes validation for magic columns
Merge pull request #431 from tom-kuca/patch-1

Fixes validation for magic columns
Merge pull request #424 from roryokane/update-bcrypt-gem-name

Reference gem ‘bcrypt’ instead of its old name ‘bcrypt-ruby’
Merge pull request #425 from roryokane/refactor-code-climate-issues

Refactor classes with low Code Climate grades
Update CHANGELOG for v3.4.3
Bump version to 3.4.3
Extract rw_config into module, and clean it up a little.
Merge pull request #434 from binarylogic/cleanup_rw_config

Extract rw_config into module, and clean it up a little.
Merge branch 'master' into fix_rails41_errors

Conflicts:
	lib/authlogic/session/password.rb
	test/session_test/brute_force_protection_test.rb