Use fail!(:missing_credentials) instead of raising custom exception

When exception is raised from middleware host application can not
handle it. This is why OmniAuth uses #failure! which sends message to
application so it can do something about it
Unify formatting in spec files, remove trailing whitespace
Use #let instead of defineing methods in specs
Rewrite LDAP strategy spec to specify conditions for each test case
Add cases when username is empty to strategy spec
Do not allow to sign in using blank username or blank password

AD allows bind with with correct username and empty password
so application will think user successfully authenticated which
is a serious mistake
Merge pull request #23 from DimaD/master

Reformatted specs and reworked way to propagate InvalidCredentials error to application