Fix #6275

The approach is as follows. On MCJIT with LLVM trunk we get proper line numbers.
On 3.3 we get proper line numbers on Linux (and probably Windows), but on Mac,
you have to use a patched version of LLVM. If you don't use the patched version
of LLVM you'll still get the function names but no line numbers.
Nasty LLVM 3.3 support
Linux support
On Linux mmap a second copy of the shared library

I was originally planning to just use the one we have already in memory,
but Linux actually makes section headers execute only, so I couldn't even look
at that without too much effort. Secondly, I'm not sure if the debug info is even
being mapped into memory at that address since it's usually not needed and I don't
think any other library could access it there. Instead, I'm just mmaping a second
copy. This of course slightly adds to the page table pressure, but other than that it
shouldn't have any other overhead and should be no worse than having separate
debug info in any case.
Save objectfile size and use it to abort the search early

Conflicts:
	src/debuginfo.cpp
LLVM 3.5 build fixes

In 3.5 the LLVM MachO headers conflict with some standard system headers which get included via julia.h

Conflicts:
	Make.inc
WIP: Windows support
Fix #6939
Better implementation of varzm
Implement varm using centralize_sumabs2
add `@inbounds` to sqrt!
clean up the variable naming for mean functions
Fix #7196, #5476
Sparse-Uint: bug fix & added performance tests

This PR does:
- fix a bug in getindex_general.  Indexing with a disordered
  array lead to a no-methods error. Test added
- temprary fix for #7197 in `test/sparse.jl`
- added performance tests for Sparse-uint matrices
Merge pull request #7201 from mauro3/sparse_perf_bug1

Sparse-Uint: bug fix & added performance tests
fix #7202
Clean up parameter naming for var, std, and friends
Merge pull request #7200 from JuliaLang/kms/pkg_checkout

Fix #7196, #5476
fix #7198, faster access to fully-qualified names
Add three argument multiplication methods for Triangular