Merge pull request #1 from kovalevsky/master

Drying
Moved raise_if_options_incorrect to session.rb. Renamed errors.
Bugfixes and refactoring