Fix number of bugs, update tests for the current API

Notice there are some TODOs which state some more work should be done in order to make the code more robust and to improve internal consistency, i.e. unify "patterns" used among all the classes (some classes handle modem power/online cycle, some use other way than other classes do, isValid() is half-working in general, some classes have isReady(), etc...) - I can handle this later if you like that idea.