Options.hs: Add missing top-level type signature

I left them out where they looked like boilerplate.
Encapsulate getting current PTS/language

This encapsulates 'asks optInstance'.
Make optInstance return -> Maybe PTS, not -> PTS

This will enable removing the current default (not done yet to avoid
breaking tests).
Add optional language to File
Add instance of `Eq PTS`

This is needed to compare PTSs to detect changes to them. This will not
work so well when we get a PTS DSL later, though, but a proper instance
won't work with infinite PTSs.
Lookup language and use it for typechecking

This currently needs a hack to allow overriding the default from the
command-line (removed in later commits).

Error messages could use some improvement.
Parse "language foo;" statement
Add language statements to all examples

Funnily, Arithmetics needs System F rather than STLC, to allow using
`*` (otherwise `*` does not have a type and cannot be used as type in
assert - frankly, this seems questionable).

I've confirmed that ChurchNumbers does not typecheck with STLC.
Turn Arithmetics.lpts into STLC

To this end, comment out the problematic assertion.
Remove default language (fomegastar) and hacks

Now, whatever language is selected on the command line cannot be
overriden by files, and fomegastar is no more an exception. It is also
no more the default, so now the language to use will have to be
specified explicitly, either by the main source or on the command line.

This is a regression for existing fomegastar developments, but for
nothing else.
Options: Add allowSubLang

Default off, currently unused, can't be enabled yet.
Implement conditional support for sublanguages

This support is conditional on allowSubLang.
Add -s/--sub-langs to enable allowSubLang

The patch also abstracts and reuses some code to get parse yes/no flags.
Enable by default optAllowSubLang
Merge pull request #124 from Blaisorblade/topic/language-prepare-part-2

Support for language statement, part 2