Merge pull request #62 from nappa/jndifix

handle JNDI communication error properly

Patch by Ryosuke Yamazaki. Thanks!!!
Start supporting Rails 4.0.0 or later

Rails 3.x support is dropped.
rails4: Use run_callbacks

GitHub: #61

Patch by superscott. Thanks!!!
ruby4: use Ruby 1.9 or later Hash literal syntax for symbol keys

key_value helper had been removed from Rails.
rails4: remove unused options

GitHub: #61

Because it is removed from ActiveRecord 4.
rails4: use ActiveModel::ForbiddenAttributesProtection

GitHub: #61

Because ActiveModel::MassAssignmentSecurity is removed removed from
ActiveModel 4.
travis: drop Ruby 1.8.7 support
travis: drop rubinius

Because bundle install failed:

    Installing activesupport (4.0.0)
    Gem::InstallError: activesupport requires Ruby version >= 1.9.3.
    An error occurred while installing activesupport (4.0.0), and Bundler cannot
    continue.

    Make sure that `gem install activesupport -v '4.0.0'` succeeds before bundling.
test: group mass assignment test
test: indent
test: move grouped test to the bottom
Remove garbage \r
Reduce "begin ... rescue" scope

The code should not raise DistinguishedNameInvalid error.
Etract objectClass attribute from attributes destructively
Accept ["DN_VALUE"] (an array of a DN value) as dn value
test: use ForbiddenAttributesProtection interface
Move DN handling to each methods from sanitize_for_mass_assignment

Methods that use "attributes=" need different DN handling. So DN
should be handled in each method.
test: move a mass assignment for objectClass test to mass asignment test group
test: indent
Accept symbol as schema attribute name