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

If we're going to re-throw an exception here rather than handle it, we should probably pass $e->getMessage as part of the message for the new exception.

Also, I feel like FacebookMapModelInvalidDataException might be too specific here since we don't know/check the exception we're catching.