Scope: Fix serialising symbols with a cycle in them.

Now it does not recur once it finds a cycle.

Thanks to inchl for the report.
pom: Increase version to 0.7-SNAPSHOT.
Added tag release-0.6 for changeset 4ee448adbc5a
pom: Release version 0.6.
CHANGES: Update.
ListFileTest: Add some unit tests for list file generation.
Assembler: Show version information when run without arguments.
SourceFile: Change the source file encoding from ISO-8859-1 to UTF-8.

This is a back compat change, however the impact should be low; I don’t expect
anyone to be using non-ASCII characters in strings, since no Z80 platform uses
the ISO-8859-1 character encoding anyway. And for comments the file encoding
does not really matter either way.
SourceBuilder: Simplify END*TERMINATORS construction a bit by using varargs.
pom: Add <release> tag to ensure we’re only using Java 8 APIs.
pom: Update Maven plugins to latest versions.
README: Document END directive.

Has been supported since the first release, but was never documented.
SourceTest: Improve test for END directive.
SourceBuilder: Make global scope the parent of the top-level source scope.

Otherwise, labels with a name matching a globally defined symbol could not be
defined on the top source level.

Thanks to Santi Ontañón Villar for reporting.
SourceBuilder: Introduce another constructor with standard end terminators.
SourceBuilder: Express constructor in terms of other constructor.
SourceBuilder: Private END*_TERMINATORS and constructor w/ terminators argument.
Source: Remove constructor that assumes global scope.
SourceTest: Add test for END.
Parser: Support '' and "" escapes in character and string literals.