Scrubbing up the IntelliJ Config

 - Add recently sprouted modules (xml and parser-combinators)
 - Replace some of the documentation with a setup script
 - Update Ant build to copy Maven sourced JARs to ./build/deps.
   These are included in the IntelliJ classpath.
 - Define the library for Ant at the project level based on
   ./lib, rather than asking the user to define global library.
 - Disable Type Aware Highlighting by default.

IntelliJ now can build everything within the IDE with CTRL-F9.
Merge pull request #2741 from retronym/topic/intellij-modular

Scrubbing up the IntelliJ Config
refactor parser entry points and extract a few methods out

This commit contains two logical changes:

1. Split `templateStatSeq` into two methods as we need more reliable
   parsing of template body alone for new `parseStats` entry point.

2. Add new parser entry point called `parseStats` which is aimed towards
   use in tools that require parsing of Scala code that can be written
   inside of a template.

   Such functionality is required for parsing lines in repl, parsing
   code through toolbox, parsing and running scala scripts and lastly
   for quasiquotes. All of them are refactored to use this very method
   in the next commits.

   A new method called `templateStatsCompat` is also added to make this
   commit pass the tests but it's a temporary hack that will be removed
   in next commit in favor of `parseStats`.

3. Extract out a few methods like `isCaseDefStart`, `expectedMsgTemplate`
   and `parseRule`. These are needed to override parser behaviour in
   updated quasiquotes parser (see next commits).
refactor repl to use new new parser entry point

This commit refactors repl to use `parseStats` entry point and
streamlines hacky error handling that was previously used to
encode errors that happen during parsing.
SI-7331 remove all the wrapping code from toolbox

Change toolbox parsing to use `parseStats` parser entry point
instead of current code-wrappign technique that makes positions
much less useful to end users.

There is also no need to create a compiler `Run` for parsing.
SI-6843 well-positioned syntax errors for quasiquotes

This is achieved in a following way:

1. Similarly to toolbox quasiquotes can go away with wrapping for
   parsing purpose after introduction of `parseStats` and `parseRule`
   entry points.

2. In case of syntax error quasiquote computes equivalent corresponding
   position in the source code with the help of `corrrespondingPosition`
   mapper which relies on position data collected into `posMap` during
   code generation.