nicer alignment of MathConst arrays

ref: #9064
(cherry picked from commit cd8198a0746fdb7684aec453e63b7d5878cf0635)
parametric typealias additional explanation

I added some text to clarify a point that stumped me about parametrized types and typealias.
ref: #9033
(cherry picked from commit 12062b506cb5fb20ecce86dc089128eb41e06256)
Emphasize how `isimmutable` works for types.

Ref: #8760
ref: #8928
(cherry picked from commit f4d60d0339fe00bf7a3b6c4df658e39b80847668)
Avoid double `done` call in `join` and add tests

Some iterators might mutate their state in the `done()` method (eg Task)
and that will give wrong results when `join` calls `done` twice per
iteration. This fixes that, and add a few tests to `join` that were
missing.

Fixes #9178

ref: #9179
(cherry picked from commit 8bd554cd03a30e789de727e26d81848c7d5787d8)

Conflicts:
	test/strings.jl
Ignore `@inbounds` when running Pkg tests on Travis

ref: #9020 and #8449
(cherry picked from commit 4b8c0bd5745a55587436a50bfdcc6d953d6e5a2a)

Conflicts:
	base/pkg/generate.jl
Pkg.generate: call Pkg.build() in `.travis.yml`

Some packages require external dependencies, which are typically setup with `Pkg.build`. Calling it will ensure the default `.travis.yml` works for these packages.

ref: #9200
(cherry picked from commit 3077090eb9878ca6ad99ce4a926c19a37f7e38b5)
Update Julia_Notepad++.xml

use Folding in code2 style (seperators needed)
(cherry picked from commit c4589fa7b11f0bbba7ecd7151c345a716c245e4b)

1- define string escape character
2- add single quot delimeter
(cherry picked from commit a6151b6f8dbc868d56682239f94b73ca70aecee6)

ref: #9177
Fix path completion when UTF8 char is occurring before match characters.

(cherry picked from commit 9b3a83ba43fe40e1a9a8e96e7b5ab3a2cbca0a93)
ref: #9227