uc-74 Handle database error + addition of fb client helper

RFCR @garthwebb & @lizlux 

Handles database errors on insertion of a user -> fb mapping that already exists.

Also 
* Did some refactoring of controller codes and moved common functionality to a helper.
* Removed duplicated methods (probably caused by multiple merges)

https://wikia-inc.atlassian.net/browse/UC-74

A couple of things on this line.  First I think its a little confusing to have a a multi-line if where the first two are boolean checks of static values and the third reports the result of an action and has a side effect of appending to the output stream.  Those two checks are requirements for the rest of the function and should probably be checked first before continuing.

Second, this method contains a call to ```showErrorPage``` which I think belongs in the controller, not a helper.  The controller should decide what the output should be, with the helper informing that decision.  As it is, it forces us to handle output the same way for every controller.  For example, the call to this helper in ```SpecialFacebookConnectController::loginAndConnect``` is a user action that needs an human readable response, whereas this method is an AJAX endpoint that requires a JSON response.

Finally, I think a helper function that creates a mapping in one call should live in the model, e.g. ```FacebookMapModel::create( $fbID, $wikiaID )```.