Adds the option `-P:wartremover:excluded:XXX`, where `XXX` is a comma separed list of symbol prefix that will be ignored during `traversals`:

  * `WartUniverse` now contains
    * `val excludes: List[String]` - a list of prefixes.
    * `ExcludingTraverser`, which verifies if the tree symbol's name is contained in excludes and applies or not the `Traversal`.
    * `trait Traverser extends universe.Traverser with ExcludingTraverser` which is now the traverser that should be implemented by `WartTraverser`s. Replaces old `type Traverser = universe.Traverser`. It comes with the following caveat:
    * The traversers in `WartTraverser` now have to be declared `new u.Traverser`, where `u:WartUniverse`. All existing traversers have been changed accordingly.

  * I wasn't able to figure out how to add the exclusions to `MacroUniverse`.

  * For some reason the `UnsafeTest` is returning its result in a different order, to amend that the results were changed from List to Set.
Fix a small experiment that slipped my review
Properly describes the TODO
Indeed the 'asInstanceOf' was not necessary, blaming this mistake into SBT not always properly detecting changes in path-dependent types, therefore not always recompiling what should be recompiled.
Refactor of smelly 'if(x) true else y' into 'x || y'
Merge remote-tracking branch 'pedrofurla/exclude-symbols'