Update PGP signing plugin details in the summary

Since the recommended plugin is sbt-pgp, it was a little confusing to reach
the bottom of the [Deploying to Sonatype](http://www.scala-sbt.org/release/docs/Community/Using-Sonatype.html#summary) guide and
see references to the `xsbt-gpg-plugin` whereas the [top of the page](http://www.scala-sbt.org/release/docs/Community/Using-Sonatype.html#first-pgp-signatures) talks about using sbt-pgp.
Modify wording to be a bit more clear
inline implementation of Symbol.isTopLevelModule, which no longer exists in 2.11
Drop unneeded import that triggers SI-7690.
Factor out compiler interface compatibility layer.

Move collection (a class `Compat`) of compatibility hacks into separate
file. This aids understanding of the code as both Analyzer and API make
use of that class and keeping it `Analyzer.scala` file suggested that
it's used only by Analyzer.
Factor out class file lookup out of Analyzer class.

Move logic related to class file lookup to separate class that
can be reused outside of Analyzer class.
Move API extraction logic to a separate class.

This way we have a little bit more clear separation
between compiler phase logic and the core logic responsible for
processing each compilation unit and extracting an api for it.

As added benefit, we have a little bit less of mutable state
(e.g. sourceFile doesn't need to be a var anymore).

The API extraction logic contains some internal caches that are
required for correctness. It wasn't very clear if they have to
be maintained during entire phase run or just during single compilation
unit processing. It looks like they have to be maintained during
single compilation unit processing and refactored code both
documents that contracts and implements it in the API phase.
Pick the first test fingerprint for a given suite/class name.  Fixes #827.

This drops older code that picked a single fingerprint within a framework.
This commit ensures only one name is executed across all frameworks.
The precedence is the order that frameworks are declared in Defaults.scala.
JUnit should be last because it is common for specs tests to be annotated
  with @RunWith for Eclipse support.  If a distinct fingerprint is not
  picked, the test will be run by both specs and JUnit.
In addition to this main reason, result processing code assumes one result
  per test class name and would have to be fixed if multiple fingerprints
  were allowed.
Use actual release version in the site search base.  Fixes #829.
Docs: deterministic ordering of howto index
Docs: custom role 'codeliteral' to allow substitutions in inline code

The built-in 'literal' role implements ``.  It tokenizes the
literal string to attempt some particular wrapping behavior.
This puts parts of the string in different spans, each with
class='pre' and the previous docs.css had a padding for that
class.  This led to excessive space within the literal string.

The custom role does no do this tokenization, but nested
inline parsing can result in multiple nodes, repeating the
problem.  So, the padding for class='pre' is dropped.  Ideally,
the sequence of nodes would simply be wrapped in an inline element
with class='pre' or some other proper solution that avoids having
multiple nodes.

To avoid wrapping in the middle of a literal, the 'pre' class
now has the style `white-space: pre;`.

The default role is now 'codeliteral' and the previous
uses of the built-in `` are converted to `.  Some incorrectly
converted code blocks were fixed in the process.

Finally, the Global-Settings page is updated with the new location
for the global sbt directory.  Due to the above changes, this could
be done without hardcoding the version.
remove deprecated top-level aliases
remove Process from base imports in .sbt files and eval

The implicits are already in the sbt package object.
refix #795

`math.min` should have been `math.max` here.
It's currently chopping off the output of inspect tree.
fix actions/aggregate, which used deprecated ScopedSetting alias
Merge branch '0.13' into 0.13.0 for RC4
0.13.0-RC4