Reformatted specs and reworked way to propagate InvalidCredentials error to application

I reformatted specs so they have unified style now and they are a bit easier to support.
Also I added check which enforces non-empty passwords which is already mentioned in tickets many times. For example #15, #18
Also instead of raising custom extension `OmniAuth::Strategies:: LDAP::MissingCredentialsError` I used method `fail!(:missing_credentials)` which is recommended way to propagate errors from OmniAuth to application. Otherwise non-Rails rack based app can not handle exceptions raised from middleware