Bugzilla plugin is now converted to backend sync service

as the summary, Bugzilla is now a backend sync service. It can be used simply as it was a plugin before. When enable this service, any added task will be handled and attempt to sync bug information from specific related Bugzilla service.

This version works well, but not perfect. I'm being continue to add more features, such as the configuration ability.
Both error codes and exceptions are way how to handle troubles. Both of them have their pros and cons. It just happens that Python went the way of exceptions (the standard library uses exceptions primarily, with the exception of IOError which follows the underlying error code system).

Why would exceptions be more appropriate?

 1. It's more pythonic (see above)
 2. They allow you answer the question: Is this error/exception of certain kind? No need to list all of the exceptions.
 3. You can customise exceptions, so each exception can has it's own message directly in the exception class. Easier translation exception => error message.
 4. Easier future debugging: Un-handled exceptions provide exact reason what's wrong, e.g: `InvalidIdError:Bug Id '1234,5' is invalid`.