Replace java library with spray based client.
Replace spray based client with dispatch and argonaut.

Akka don't work when run inside a compiler plugin...
Add TODO to improve design of `Reporter`.
Add TODO about `Scope` loading optimisation.
Introduce proper ADT for `PhaseId` and refactor `Doctor.diagnostic`.
Split `Doctor` functionalities in `Sementic`/`Style`.
Extract `Prefix`.
Introduce `PackageObjects` macro.
Integrate @puffnfresh's "WartRemover".
Migrate build definiton from `build.sbt` format to `Build.scala`.
Split project into `common`/`plugin` modules.
Use `PackageObjects` to enumerate `WartTraverser` objects.
Fix `WartTraverser` lookup.
Add trace information for `Settings.warts`.
Introduce `Selection` expression parser.
Add `build.properties` with explicit sbt version.
Enable `Selection` expression to choose warts.
Add `Suffix`.
Format dynamically warts error message to sound more human friendly.
Introduce rule system and abstractions.

- Model to describe rules introduced in common
- The `StdComponent` is now a `RuleSet`