Added settings and session to model

1. Added SessionUser struct to represent session stored user info
2. Added GetSettings to User and SessionUser struct
SessionUser updated and ErrorStore moved

1. Moved ErrorStore from controllers.go to models.go
2. Updated SessionUser. Added various attributes for Save method
   to work with
Renamed models to abstracts

This library is better fit the Presentation-Abstraction-Controller
(PAC) pattern. Changed the name of files to better reflect the
true nature of them.
Changed comments to reflect PAC pattern references

Changed all "model" to "abstraction" in comments
Finish adaption of SessionUser in controllers

1. Added Delete method to SessionUser
2. Changed HasLogin to use SessionUser instead of session
3. Changed LoginHandler to save values to SessionUser
4. Changed LogoutHandler to use SessionUser
Minor changes

1. Formatting with go fmt
2. Add minor comment
Require Uuid in user creation

1. CreateUser requires Uuid now
2. Minor commenting in controllers.go
Fixed compile error in abstractsGAE

Stupid compiler didn't check both if and else case
and complains "function ends without a return statement"

Fixed anyway
Session name and username behaviour

1. Changed GetSessionUser, if u.Name is empty, su.Name = u.Username
2. Minor refactor in CreateUser
Registration code fix

1. Added user validataion to DefaultRegisterHandler
2. Adapt SessionUser to registration process
   Remember new user's information like login
Improved user register form validation

1. Better handler required fields
2. Check username, prevent duplication
3. Check email, prevent duplication
Uuid check and formating

Added uuid check for new user creation.
Try to prevent duplicated Uuid.

Also did a go fmt to the source.