build.xml: Add format target
Format source code
CeylonParser: Add type parsing functions

All the way through the type hierarchy up to type() itself.

Still can’t parse anything except basic base types.
Change CeylonParser test framework

We now test all “supertype” parse functions as well: The test

    testParse(`Type`, "String"->`BaseType`)

will attempt to parse the code "String" with the following CeylonParser
methods:

- baseType()
- simpleType(), because BaseType extends SimpleType
- primaryType()
- unionableType()
- mainType()
- type() and stops here because that’s the first type given.

The advantage of this is that we test the supertype parsing
automatically; the disadvantage is that we will end up with very few
test functions, which all test a lot of stuff.
Parse base types with type arguments

No use-site variance yet.

Another significant change is that the parse methods all no longer
return an optional type: If we descend into that method, we have already
decided (through lookahead) that we want to parse using this
alternative, so we shouldn’t bother the caller with having to work
around the return value possibly being null – instead, the parse method
itself should do as well as it can, and then return a convincing fake.
Add more tests for base types

With type arguments as well.