Enable conid as simple pattern

Fix #33

### Parse:
* Split `pattern` rule into `complex_pattern` and `simple_pattern`.
* Add `CONID` to `simple_pattern`.
* Replace `simple_pattern_list` with `simple_pattern_seq`.
* A `complex_pattern` is not allowed to have zero arguments. This solves the ambiguity.

### AST:
* Αllow `Pattern` to have no argument list.

### Parse test:
* Fix regression test.
* Expand testing of `simple_pattern_seq`.
We should maintain the unit test name that indicates this is a regression test. Additionally, the example from the description of #33 may be more insightful and perhaps can make our tests serve more as documentation, so I suggest we use `TreeNode EmptyNode` instead of `Red Blue`.