Upgrade ASM to 5.0.2

This commit is a squashed version of all commits in PR #3747.

For future upgrades, consult the README and check the commits in
https://github.com/scala/scala/pull/3747/commits

There's one bug in ASM 5.0.2 that breaks scalac:
http://forge.ow2.org/tracker/?func=detail&aid=317200&group_id=23&atid=100023

This bug is fixed in ASM trunk, the patch has been merged into this
commit. A future upgrade of ASM should contain the fix.