included tests/ in ctest setup

The `tests/` subdirectory now has its own CMakeLists.txt that configures a
parse test for each of the `*.mw` files in there. This allows robust regression
testing on the parser and compiler in general. If a feature gets added to the
compiler, a sample source file that breaks if the feature is not present should
be placed in `tests/`. This prevent later changes from breaking existing code.
grammar: func keyword required before func_expr

All reduce/reduce conflicts in the grammar were caused by an ambiguity between
tuple_expr, func_expr (aka lambda expressions) and primary_expr. For the time
being, func_expr requires an additional `func` keyword in front of it.

In the long run we need a better parser. Bison's outputs aren't really up to
the task. Either write a recursive descent parser by hand, or spawn another
small project that allows us to specify a concise grammar and have that tool
create a parser.
adjusted tests to new grammar

Not sure if the new func_arg syntax `x: Int` is nice. The best thing would be
if we could drop the notion of function arguments in general and have a pattern
matching concept that is more general and useful.

Fixes #10.