Added new field for User - a name. 

* Added new field for user - a name. 
* Refactored registering so the user has to input the name (beginning with a capital letter). 
* Moved the initials of the author to user. Also added a method called author to Question so we don't have to change all the views which display author (I'm displaying user.name as author now). 
* Edited forms so the Author cannot be input now. And most of all refactored tests (added test for User which now checks most of validations on author which was tested in Question before).
You can use shortcut for format validation: `validates :name, format: NAME_FORMAT`.

Or you can write your own validator (`NameValidator < ActiveModel::EachValidator`), save it eg. in `app/validators`, and use it like this: `validates :name, name: true`.
This way the validator can be re-used in other models, also it can be tested independently.

See the guides on how to write custom validator: http://edgeguides.rubyonrails.org/active_record_validations.html#custom-validators