UC-138 Update the user_fbconnect table and code that accesses it

Changes to record all the data necessary to disambiguate Facebook users now that we don't get a universally unique ID.

https://wikia-inc.atlassian.net/browse/UC-138
Just to weigh in, this class doesn't need to catch every exception it throws (or any for that matter).  The throw is just stating something went wrong and letting it go to whatever level cares.  I do think the logging that happens in the try/catch @armonr referred to should actually go here though.  That log message is not unique to how we use save there; it should be logged regardless of who is calling it.  Moving that log down here.