More sane logging level by default
Add a rollover count so limits are obeyed

Limits in file size don't seem to obey unless set to > 1.
Bump version to 0.2.2
Merge pull request #783 from dionyziz/hotfix-0.2.2

Hotfix 0.2.2
Remove constants "unit" tests.

Unit tests are meant to test logic, not declarations. This is why we
don't test our HTML and CSS code. Unit tests express contractual, behavioral
obligations of modules. Constants do not correspond to contracts.

This test needs to go, so I'm removing it.

It seems to me that here we're simply trying to increase the coverage
metric and this is hurting the quality of our tests. Let's keep in mind
that coverage is a measure that helps us improve, but the end goal is
better testing.

Testing that constants are equal to what they are is unnecessary
duplication and doesn't add any value to the tests. Furthermore, it
violates DRY, as every constant update must come with a test update.
This is true for all testing, but in this case the same thing is
expressed in the test and in the implementation and is not a form of
contractual obligation.

If you must, you can test that the constants exist and are of specified
types. Feel free to readd that in case you consider it a necessity.
Merge pull request #786 from dionyziz/remove_declaration_tests

Remove constants "unit" tests.
Stricten pylinting.

* Make pylint output color-coded to facilitate discerning errors
  from suppressed warnings.
* Warn on methods overriden by attributes (E0202).
* Warn if name is not in module (E0611).
* Warn if arguments differ in overriden method (W0221).
* Require __init__ in all classes (W0232).
* Disallow name shadowing (W0621). Redefining names from outer scopes hampers
  readability and may hide subtle errors, since python normally allows
  read-only access to global names.
* Require lazy logging (W1201). This should significantly lessen the string
  processing in nodes with quiet logging modes.
* Disallow long lines (C0301). Set the limit to 116 chars for now.
* Limit class ancestors to 7 (R0901); too much subclassing is bad design.
Suppress unreasonable pylint warnings.

* Suppress pylint error E0202 in BackupJSONEncoder. Usage is in agreement
  with the json package documentation.
* Suppress pylint error E0611 in behave and distutil imports. Usage is in
  agreement with the packages' documentation.
* Suppress pylint warning W0221 in node/ws.py. This is only a temporary hack
  and should be fixed in the future.
Cleanup DataStore class.

* Inherit from object and make it a new-style class.
* Drop unused DictDataStore and MongoDatastore.
* Insert a dummy DataStore.__init__ ; call it from subclass.
* Drop dead code from SqliteDataStore.
Fix shadowing of global names.

* Pack main inside a function so that its symbols don't pollute
  global namespace.
Remove pointless test files.
Install lazy logging. Drop some dead code.
Fix some long lines.

* Drop dead code that contains long lines.
* Use `.get` to simplify inline ifs.
Merge from master and resolve conflicts
Merge pull request #784 from dionyziz/backmerge_0.2.2

Backmerging hotfix 0.2.2
Delegate binding HTTPServer on random port to tornado.

* Drop all special-purpose code.
Merge pull request #776 from Renelvon/bind_tornado

Use tornado to grab a random port
Merge pull request #774 from Renelvon/code_cleanup

Pylint checks round 2. Some code cleanup.
Do not pass redundant argument to superclass init.
Make abstract methods raise NotImplementedError.