ISSUE #78: Solution for Email encryption

Please find the solution attached for this request. As discussed in the issue. This change will encrypt usernames and compare them with the database and migrate any usernames as required.

The secret key is not quite as secret and should be changed, this is not trivial and actually needs to be of a certain number of characters. I'll see if I can find the stackoverflow page which states this.

Also moved primary key on the authentication table to user_account field as modifications to the username field which is also an encrypted email are not possible. This solution is fine as long as the PK of the user_account table doesn't change. Ideally we should have a unique integer id field on the authentication table.

Cheers,
Joe.