Fixes changes round2

- Cleanup rating.py a bit more.
- Make use of subclassed exceptions for handling problems, instead of returning data.
- Handle testing account differently, call getData directly, and handle errors.
- Store if the account is valid in an addon setting, and make use of this instead of testing on startup. Since when account is deemed valid, unless password changes, or you change settings it should never be invalid again.
- Move timeout to an optional parameter in __getData
- Add setSetting helper in utilities.