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`.
I disagree in several ways:
1) The change proposed inhibits the user of `Pattern` from first instantiating the node and afterwards filling-in the `list`.
2) If we used a mutable object as default argument, we would be breaking a Python convention without gaining anything.
3) There is no way of explicitly creating an empty list of arguments in Llama. So, the `[]` itself is an artifact, and the semantics would be better if the `simple_pattern` vs `complex_pattern` difference was reflected in the AST. I will PR that tomorrow.