Simplify CSS, bigger monospace to match math
Reducing overlap of code and math.

Prefer smaller islands of `code` in bigger
sections of $math$. Do not include $`code` in math$,
and avoid `$math$ in code`.
Minor typographical fixes for lexical syntax chapter
Don't mention C#
Merge pull request #3666 from adriaanm/spec

Spec cleanups
Disable more of the Travis spec build for PR validation

So as to avoid:

	$ ssh-add -D
	All identities removed.
	$ ssh-add spec/id_dsa_travis
	Enter passphrase for spec/id_dsa_travis:
	No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.
Merge pull request #3664 from iainmcgin/lexicalfix

Minor typographical fixes for lexical syntax chapter
Merge pull request #3668 from retronym/topic/travis-ssh

Disable more of the Travis spec build for PR validation
Refactor handling of failures in implicit search

Better encapsulation for `DivergentImplicitRecovery` by replacing
the vars `countDown` and `implicitSym` with a single var holding
`Option[DivergentImplicitTypeError]`.

Also adds a pending test for SI-8460 that will be addressed in the
next commit. This commit is just groundwork and should not change
any results of implicit search.
Rebase #3665
SI-8460 Fix regression in divergent implicit recovery

Implicit search detects likely cycles by looking at the stack of
open implicits and checking the same implicit appears twice, and
if the second occurrence is trying satisfy an implicit search for
a "dominant" type.

Originally, this condition immediately failed the entire implicit
search. However, since Scala 2.10, this mechanism has been refined to
continue searching after the first divergent implicit is detected.
If a second divergence is found, we fail immediately. If the followup
search fails, we report the first divergence. Otherwise, we
take the successful result.

This mechanism was originally built around exceptions. This proved
to be fragile, and was refactored in SI-7291 / accaa314 to instead
use the `Context.errors` to control the process.

But, since that change, the pattern of implicits in scalanlp/breeze
and Shapeless have been prone to reporting the divergent implicit
errors where they used to recover.

So long as we left the `DivergentImplictTypeError` that originates
from a nested implicit search in `context.errors`, we are unable to
successfully typecheck other candidates. This commit instead
stashes the first such error away in `DivergentImplicitRecovery`,
to clear the way for the alternative path to succeed.

We must retain any other divergent implicit errors, as witnessed by
test/files/neg/t2031.scala, which loops unless we retain divergent
implicit errors that we don't stash in `DivergentImplicitRecovery`.
Refactor: keep DivergentImplicitRecovery logic together.
Refactor rankImplicits, add some more docs
SI-8466 fix quasiquote crash on recursively iterable unlifting

In order to handle unquoting quasiquotes needs to know if type is
iterable and whats the depth of the iterable nesting which is called
rank. (e.g. List[List[Tree]] is rank 2 iterable of Tree)

The logic that checks depth of iterable nesting didn't take a situation
where T is in fact Iterable[T] which caused infinite recursion in
stripIterable function.

In order to fix it stripIterable now always recurs no more than
non-optional limit times.
Merge pull request #3669 from adriaanm/rebase-3667

SI-8460 Fix regression in implicit divergence recovery
Merge pull request #3671 from densh/si/8466

SI-8466 fix quasiquote crash on recursively iterable unlifting
Further tweak version of continuations plugin in scala-dist.pom

While we must use full version, rather than the cross version
(12720e699), we need to use latest non-snapshot version.

This should avoid failures like:

  https://jenkins.scala-ide.org:8496/jenkins/view/Scala%20Xsource%20flag%20nightlies/job/Akka/63/console

Such as:

	[warn] ::::::::::::::::::::::::::::::::::::::::::::::
	[warn] ::          UNRESOLVED DEPENDENCIES         ::
	[warn] ::::::::::::::::::::::::::::::::::::::::::::::
	[warn] :: org.scala-lang.plugins#scala-continuations-plugin_2.11.0-SNAPSHOT;1.0.1:
	not found
	[warn] ::::::::::::::::::::::::::::::::::::::::::::::
	sbt.ResolveException: unresolved dependency:
	org.scala-lang.plugins#scala-continuations-plugin_2.11.0-SNAPSHOT;1.0.1:
Merge pull request #3672 from retronym/topic/binary-version

Further tweak version of continuations plugin in scala-dist.pom
Update references to quasiquotes guide
Render scala.full.version to versions.properties.

When called with -Dupdate.versions, the build will render its current
set of versions to versions properties. This is used during releases,
when bootstrapping to a consistent set of modules that constitute
a release.

Particularly, scala.full.version is the non-SNAPSHOT full version
of scala that's closed to maven.version.number. It's similar in
spirit to the module build's snapshotScalaBinaryVersion,
except that it's always the full version, so, e.g., 2.11.1 rather than 2.11.

This version is so far only used to determine the dependency on
scala-continuations-plugin in scala-dist.