Rearrange implicits to speedup implicit search

Improves the compile times of client code using
`implicitly[WireFormat[...]]` and `implicitly[AvroSchema[...]`.

Exploits and optimization in implicit search: if an eligible
result has already been found, the compiler does not need to
evaluate if another candidate also satisfies the search if it
is less specific than the first result. "less specific" is the
parlance of static overload resolution. All else being equal based
on the type signatures, a method defined in a subclass of another
is more specific.
Further reorganize typeclass implicits for faster implicit search

  - specific implicit for `Seq[T]`
  - make the implictits in the generated code by in a subclass
    of the low priority, expensive implicits.

After this change, we get to 187 discarded "expensive" implicits

    % scalac-hash v2.10.3 -Xlog-implicits  @args2.txt -Xprint:typer LME.scala 2>&1 | grep "not a valid" | wc -l

Down from 2200!

The benchmark compiles in 740ms, a 3.5x speedup from the original
2600ms.
One more specific implicit for faster compilation

Offering `WireFormat[Seq[T]` as a faster alternative to
`TraversableFmt` further improves the benchmark.
No more fruitless paths in implicit serach for LME benchmark

Specific implicits for Map ant Set.

Hot compile time is 460ms, 5.5x from where it started.

Admittedly this is somewhat tunes for that benchmark as I've only
addressed the types it uses. You might also want to do this for
List, Vector and a few others.
added some test cases for wire formats implicits search