Show union cases, enum fields and record fields in pattern matching as PatternCase

The use of these fields in other places will be skipped.

The idea is to distinguish pattern matching with their use in declaration and expressions.
Right now it looks like this:

![image](https://cloud.githubusercontent.com/assets/941060/2795617/f42c9018-cbfd-11e3-9af4-49138811a6c7.png)


Close #247.