Test that BCrypt errors can be rescued as StandardError.
BCrypt::Errors::* descend from new BCrypt::Error.

This makes error handling far easier, and does not impact backwards
compatibility.

This is now possible:

    begin
      # some BCrypt call
    rescue BCrypt::Error
      # handle error
    end

Instead of:

    begin
      # some BCrypt call
    rescue BCrypt::Errors::InvalidSalt, BCrypt::Errors::InvalidHash, BCrypt::Errors::InvalidCost, BCrypt::Errors::InvalidSecret
      # handle error
    end

RSpec output:

    Errors
      BCrypt::Error
        can be rescued as a StandardError
      BCrypt::Errors::InvalidCost
        can be rescued as a BCrypt::Error
      BCrypt::Errors::InvalidHash
        can be rescued as a BCrypt::Error
      BCrypt::Errors::InvalidSalt
        can be rescued as a BCrypt::Error
      BCrypt::Errors::InvalidSecret
        can be rescued as a BCrypt::Error
Merge pull request #51 from pda/bcrypt_error

BCrypt::Errors::* descend from new BCrypt::Error.