_setup_settings(): fix initialization order dependency crash

_generate_new_bitmessage_address() depends on self.guid

if the client runs first without bitmessage running, then next
with bitmessage running, a crash would occur here because no self.guid

fixes crash introduced in 5778d6cd436da6d05fcf12a0fc90171e8789f679
(_setup_settings: be more robust against partial db creation)

Signed-off-by: Thomas Stilwell <stilwellt@openlabs.co>
Merge pull request #618 from benemorius/crashfix

_setup_settings(): fix initialization order dependency crash
Install pylint on the build.

* Add pylint to test requirements.
* Do not clutter output with files that are OK.
* Activate pylint if flake8 finds no errors.
* Ignore selected errors for now.
* Ignore selected warnings for now.
* Ignore selected conventions for now.
* Ignore selected refactors for now.
* Ignore selected fatals for now.
Drop flake8 for now.
Drop unused coverage package.
E0602: Fix undefined variables.

* Refactor some `from X import * ` cases, while we are at it.
E1205: Fix arguments for logging format strings.
E1305: Fix arguments for format strings.
W0102: Disallow mutable values as default arguments.
W0104: Explicitly denote seemingly pointless statement.
W0105: Fix string positioned as statement.
W0107: Drop unnecessary pass statements.
W0231: Call __init__ of parent class.
W0403: Honour relative imports.

* Make the code more self-documented.
* Ease the transistion to Python 3.
W0611: Drop unsed imports.
W0612: Fix unused variables and functions.

* Comment and label unused functions.
* Use _ for unused variables in unpacking statements.
C1001: All classes should be new-style classes.
C0325: Drop unnecessary parens.
R0201: Declare static methods as such.