Error handling improvements

This pull request adds many improvements for library.
Starting with the new error handling method and removing all automatic dialogs from requests
A generic listener was also created to help library to keep consistency.

If developers want to migrate to this version, some code refactoring on their apps needs to be done