Add loop-breaking option to MiniGrace object in JS
Add try-catch as synonym for catch-case
Update tests for new try-catch syntax
Add "Unknown" type to replace "Dynamic"
Remove references to old checking dialect in JS UI
Suggest == for = in syntax errors
Skip var-specific error on double initialisation
Check generic/op > confusion and give suggestion
Use insistent terminology consistently in errors
Suggest new anonymous type syntax when absent

If an attempted anonymous type literal using the old syntax without the
'type' keyword appears in the program, a new error will be generated:
  Syntax error: Anonymous type literals must be written with the
  'type' keyword'.
The compiler will also generate a suggestion:
  Did you mean:
    1: method foo(x : type { bar -> String }) {
The previous error would display no knowledge of the anonymous type
change and suggest inserting type names or deleting tokens.
Compile dialect modules to dynamic modules

Previously, dialect modules had to be compiled manually with the
--dynamic-module flag before use. Now, they will automatically be
compiled in the right way when required, like other modules are.
Compile nested dialects automatically as well

The previous commit built dynamic modules for first-level dialects, but
not dialects used by the first-level dialect. Build them as well.