Scoping capabilities for rules and added testing for tree traversal.
Compiler plugin working, currently testing on Play framework (issues with MutabilityChecker of course...)
Reviewed traversal macro project structure + started on sbt plugin
Changed warning declaration to make user intent clearer and made some
progress on sbt plugin.
Sbt plugin completed, sketched warning presentation layer
Temporary stuff for classloading rules
Changed project structure to allow for simple user plugins.

First attempt at finding unused members.

This shows the difficulties one has to face when dealing with Scala symbols, in
particular the fact that one logical entity is represented by multiple symbols. For
example, a class parameter has a symbol for:

* a constructor parameter
* a private field to hold that value (might be removed later, but after typer we always have it)
* maybe a getter, if the parameter is public

A *use* should be marked for any of them. Visibility should be checked on the getter (if there is one).

The same happens for vals/vars and their getters. Def-use information is something many rules will need (unused imports, unused members, single-assignment vars, etc) so it’s worthy of a simpler API.
Added some documentation.
Rewrote traversal to have internal state. Seems to have increased
performance.
Added documentation, setup AnalyzerGenerator as pluggable component.
Wrote initial abide wiki
Corrected mutability checker and included witness.
Setup configurable rules and added TODO section to Readme
Added monadic-fors rule from wart remover
Split project in two and added robustness to traversal
Corrected small error in sbt Build.scala
Corrected some stuff in traversal macro
Changed project structure for easier rule package addition
Modified ScopingRule and cleaned up project
Added akka rules and PathRule base trait