Use @compileTimeOnly for .value and .parsed methods.

Needed to set position on wrapper method for correct error message position.
Updating the address of the xsbt-proguard-plugin
switch dispatch to dispatch.classic to avoid collisions with plugins which use newer versions of dispatch (0.9+)
Fix link to sbt-git plugin

The old url https://github.com/sbt/sbt-git-plugin resulted in an 404 error. Changed to https://github.com/sbt/sbt-git which seems to be the correct url for that plugin.
Strip down trailing whitespace.

I have Eclipse configured to do that automatically when saving file.
I decided to finally commit those changes to files I touch a lot.
Break long argument list into multiple lines.

Some methods take a lot of arguments and I'm about to add one more
which will make them too long for easy reading.

This change is changes code formatting only. That's done on purpose
to make it easier to review other changes.
Introduce incremental compiler options.

Introduce a way to configure incremental compiler itself instead
of underlying Java/Scala compiler.

Specific list of changes in this commit:
  * Add a method to `xsbti.compile.Setup` that returns incremental
    compiler options as a `java.util.Map<String, String>`. We considered
    statis interface instead of a `Map` but based on mailing
    list feedback we decided that it's not the best way to go because
    static interface is hard to evolve it by adding new options.
  * Since passing `java.util.Map<String, String>` not very convenient
    we convert it immediately to `sbt.inc.IncOptions`
  * Add options argument to various methods/classes that implement
    incremental compilation so in the end options reach
    `sbt.inc.IncOptions` object
  * Add `incOptions` task that allows users to configure incremental
    compiler options in their build files. Default implementation of
    that tasks returns just `IncOptions.DEFAULT`
  * Both system property `xsbt.inc.debug` and `IncOptions.relationsDebug`
    trigger debugging of relations now. In the near future, we should
    deprecate use of `xsbt.inc.debug`.
Use `IncOptions` for `transitiveStep` and `recompileAllFraction`

Recently introduced IncOptions allow us to make both transitiveStep
and recompileAllFraction configurable in incremental compiler.
Use Ivy's default name for the resolution report.

Ivy hardcodes the resolution report name in the stylesheet that renders the
HTML from the XML report.  This means that the links to other configurations
are broken when using a custom name.
better error message when help search syntax isn't a valid java.util.regex
remove deprecated command strings
Add help for ++ and + commands
Do not minimize APIs if API debugging option is enabled.

That's foundation for API dumping and tests based on API representation contents.

Specific list of changes introduced by this commit:
  * `AnalysisCallback` class takes `IncOptions` as argument so it
    can determine if API should be minimized in `api` callback.
  * Introduce `Incremental.apiDebug` method that determines if api debugging
    is enabled. There are two ways to enable api debugging: through system
    property and through incremental compiler options. The system property
    method will be soon deprecated. We introduce it to make it easier to enable
    API debugging until tools (like zinc and ide) catch up with making incremental
    compiler configurable.

NOTE: The `apiDebug` method has been introduced in Incremental for two reasons:
  1. It's analogous to `incDebug` method that's already there.
  2. In other branch I need `apiDebug` to be defined in Incremental.

Once we deprecate and remove enabling debugging options through system properties
the code will be cleaned up.
Add a pending test-case for showing circular api structures.

This test should pass because `ShowAPI` skips inherited members but
due to sbt/sbt#676 it fails with StackOverflowError.

This makes it a decent test-case for both showing circular api structures
and for the aforementioned bug itself.
Fix sbt/sbt#676: swapped declarations and members in `ClassToAPI`.

As described in sbt/sbt#676, arguments to `mergeMap` and `merge` methods
were swapped causing wrong structures being created for Java compiled
class files.

This commit fixes sbt/sbt#676 and makes pending test to pass now.
Show some of inherited members of a structure in `ShowAPI.scala`

Showing inherited members of a structure was disabled so we would not
run into cycles. To best of my knowledge, we can run into cycles only
if inherited member is `ClassLike`. We filter out those and let
anything else to be shown.
Mark inherited definitions in `ShowAPI`.

Mark every inherited definition with `^inherited^` marker. This helps
understanding `ShowAPI`s output.
Make full set of ForkOptions configurable for both run and test. Fixes #665.

Environment variables may be passed by configuring the envVars task.
Revert "outputStrategy does not apply to test tasks"

This reverts commit 6c6d86d5cea4c879bedff153879d7cb8ba677f87.

It does now.
Remove unused class loader implementations