new bytecode emitter, GenBCode (8th attempt)


This PR re-submission supersedes https://github.com/scala/scala/pull/2529 and takes into account review comments so far. 

Testing against the community build will provide more information than isolated tests.
Bytecode tests are by their very nature fragile (e.g., testing first that pattern matching emits a chain of jumps, only to make sure a moment later that chain of jumps has been collapsed by GenBCode). Concrete ideas and examples on how to balance usefulness vs brittleness are welcome.

Reviews about the content proper of the PR are most welcome.

review by @gkossakowski or @JamesIry or @retronym or @paulp