Make all command definitions local

As discussed in #382 and #327 before that by @keforbes and @igrekster.

The way `:eclipseaction` works is pushing commands into a static variable, thus creating commands for all tabs at the same time.

This pull request makes the `CommandLineMode` hold both the static core commands mappings and
a local mapping for user commands, then passing the combined mapping to the `CommandLineParser`.

It is now easier to construct a `CommandLineParser` through the `CommandLineMode`'s `createParser` function, so I inserted that into all command line tests to keep them working.