Admin: create user (part 1)

Some of the functionality for adding a user has been added, with the
first 2 stages of the input form and associated processing being added.
A third form needs to be added and more work on the backend library to
actually submit this to the database.
Event logging added

A new event logging feature has now been added. When a failed login
attempt is made, a new event is created with the IP address, user agent
string and attempted username of the login.