First working draft for a test suite

This branch contains quite a few important changes, which you may or
may not like. Please review it carefully and point out everything you
consider that needs changing with in-line comment in the commits, or in
the same pull request.

These are the very first modifications I've noticed that need to be done
in order to get a complete test suite, which will have:
1) Basic unit tests: that will test code that doesn't require any external
   communication.
2) Network-dependant unit tests: which will run some code that requires
   communcation with Mega. These unit tests will dispose of a mocking
   mechanism. In order to achieve this, we'll need to specify a very thin
   set of wrapper functions that communicate with Mega APIs. (maybe
   the currently implemented `mega.py