Removed compiled stuff from repo

There was still a version of the sample template that was compiled in the
repository, which simply does not belong there.
Replaced die statements by throwing of \Exceptions

It's not much of an improvement, really. This still needs some real
attention.

However, for now it does allow to use phpunit in a normal fashion.
Fixed parentheses as mathematical prioritzers

During parsing, the parentheses were correctly rezognized, but instead of
continueing with the input minus the parentheses, it continued with the
exact same input, causing an infinite loop.

This bug was found while writing the first tests for The Good Suite.
Really goes to show how important tests can be.
Fixed minor typo in error messages

Ducument -> Document
Doubled up on backslashes in regexes

It probably didn't matter because we were using single quoted strings, but
though it looks uglier it is better practice in the end.
Prevents parsing reserved words as variables

It's a pretty ugly hack, but it's really hard to do this properly. On top
of that, the hack was already there for "else", it just needed to be
extended to include the "end <something>" (it got quite a bit uglier,
though.

The problem that led me to find this was that "end if" was recognized and
"endif" wasn't. Though I will be changing this some time soon anyway, this
was a bug and allowing both was the way it was intended.
Adds xor operator to GoodLooking

I wrote tests for it (yet to be commited) and implemented it under the
impression that it was described in syntax.txt. Afterwards, I found it
wasn't. However, it was a good excercise, little work and in the end there
is no good reason not to include it in the syntax.
Makes sure output dir for Service can be anything

It's only a small fix, but it's sort of important.

Previously, you could give an output folder and it would be used, but
requireClasses would only work properly if the path was (equivalent
"compiled/". Now, it will work regardless of path.
Minor fix on access specifiers on datatypes

Removed some dead code and added a case to make sure the compiler gives an
error if specify public and another access level (or public twice).

Found through code coverage analysis when writing tests. Writing tests has
advantages I never even realized...
Fixes \Good\Service\ObservableModifier::unregister

A simple case f the function never having been run. This was of course
changed when writing tests.