Added login with recovery codes

Serialized recovery codes stored in database can now be logged in with
instead of Google Authenticator tokens. This is incase you cannot use
your phone.

When you've used a recovery code it gets removed from the array.

ToDo:
Show recovery_codes warning upon login if database is empty
Possibly change SQL files to varchar instead of text?