Saving/loading character details from SQL

HostGateway could have potentially not removed a pending connection if a
login failed. SQLProvider allows for you to use multiple types of
databases. Right now I'm using sqlite (embeddable), but you can easily
change it to use a MySQL server.