Emphasize how `isimmutable` works for types.

Ref: #8760
parametric typealias additional explanation

I added some text to clarify a point that stumped me about parametrized types and typealias.
Use a tarball instead of git for checking out LLDB.
Don't forget to download LLDB, and make python2 hack more compact.
Ignore LLDB deps, and add some checksums.
Remove unused LIBCXX_OPTIONS.
nicer alignment of MathConst arrays
Fix help for operators starting with a dot

This fixes #8903 and supersedes #8922 (cc @hayd). Basically, when you pass a function to the help system (instead of just its name), the system can go through all the modules and only returns those methods that actually extend the same function.  The way it does this, however, is a little hacky... using string concatenation to combine the function name with the module names, and then splitting it back apart again on dots to get the functions within each module.  This simply improves the splitting logic with a regex to handle the leading dot.
Create appveyor.yml
fix #9131, excessive specialization of code_typed
Fix error regarding unescape_string introduced by commit adca441118137f48bd751dfafdc94280b54b2ac6 and introduced some visual spaces.
Merge pull request #9143 from dhoegh/fix_shell_completion_error

Fix error regarding unescape_string introduced by #8838
Introduce a new variable in Make.inc that applies only to libjulia.so
Fix so latex completion do not interfere with path completion in strings.
remove commented code
cleanup BLAS.dot method argument types

When `BLAS.dot` accepts `StridedArrays` the following may occur:

```julia
using Base.BLAS
n = 5
A = zeros(n,n)
A[1,1:5] = 1
B = zeros(n,n)
B[1:5,1] = 1
sA = sub(A,1,1:5)
sB = sub(B,1:5,1)
a = BLAS.dot(sA,sB)
println("sA: $sA")
println("sB: $sB")
println("BLAS.dot(sA,sB): $a")
```

Output:

```
sA: [1.0 1.0 1.0 1.0 1.0]
sB: [1.0,1.0,1.0,1.0,1.0]
BLAS.dot(sA,sB): 1.0
```

Solution:
* main `BLAS.dot` methods should only accept `Ptr`s or `DenseArray`s
* helper `BLAS.dot` methods should only accept `DenseArray`s and
  `StridedVector`s, the pass `Ptr`s to the main `BLAS.dot` methods
cleanup input argument types for BLAS.nrm2 and BLAS.asum

The problem for `BLAS.nrm2` is allowing `StridedVectors` in the main
method.  This is demonstraded with the following code:

```julia
using Base.BLAS
a = ones(6)
a[2:2:6] = 0
b = sub(a,2:2:6)
n1 = BLAS.nrm2(b)
n2 = BLAS.nrm2(3,b,1)
println("b: $b")
println("BLAS.nrm2(b):     $n1")
println("BLAS.nrm2(3,b,1): $n2")
```

Output:

```
b: [0.0,0.0,0.0]
BLAS.nrm2(b):     0.0
BLAS.nrm2(3,b,1): 1.0
```

Fix:

* Main `BLAS.nrm2` (and `BLAS.asum`) methods now accept `Ptr` and
  `DenseArray`

* Method specialized for a `StridedVector` passes a `Ptr` to the main
  method.

* Fix is the same for both `BLAS.nrm2` and `BLAS.asum`
Merge pull request #9130 from waTeim/waT/symbf

Introduce a new variable in Make.inc that applies only to libjulia.so
cleanup input argument types for BLAS.axpy! methods
Merge pull request #9137 from dhoegh/latex_completion_string_fix

Fix so latex completion do not interfere with path completion in strings on windows.