Make a basic User model (including secure passwords)

Add bcrypt gem to project and annotategem to the development scope
group. Full validation rules and attributes added to User model. Also
authentication and secure storage of passwords throuhg the
has_secure_password method. Tests implemented to validate a wide range
of chances when creating users.
Improve tests for User model

Tests to show a potential flaw if not saving emails in lowercase.