Simplify Symbol#name to read from a field (pre-flatten)
Simplify Symbol#name to read from a field (pre-flatten)

The previous implementation of `name` had 5 implementations:
- delegating to a private `rawname` in `TermSymbol` and `TypeSymbol`
- possibly flattening the raw name (post-flatten) in `ClassSymbol` and `ModuleSymbol`
- `nme.NO_NAME` in `NoSymbol`

`name` shows up as very hot on some profiles, and before this patch
compiled to a relatively-expensive virtual dispatch (even after C2).
However, the majority of calls to `name` only read (eventually) from the
`rawname` field in `TermSymbol` or `TypeSymbol`! Therefore, this patch
moves `rawname` into `Symbol` and prefers to directly access that if possible.

martijnhoekstra/scala,lrytz/scala,scala/scala,martijnhoekstra/scala,lrytz/scala,martijnhoekstra/scala,martijnhoekstra/scala,scala/scala,martijnhoekstra/scala,scala/scala,lrytz/scala,lrytz/scala,lrytz/scala,martijnhoekstra/scala,scala/scala,scala/scala,lrytz/scala,scala/scala