[MAT-358] Add Logger.

In order to avoid a dependency on SLF4J being created, the Logger
class provides a logging interface for OG-Maths. It checks to see
if SLF4J is available - if it is, then new instances of it use
SLF4J. Otherwise, we fall back to a simple implementation that
prints all log messages to stderr.

Testing is added, but is limited to instantiating each of the
logging classes and attempting to use each of their methods.
[MAT-358] Run NativeLibrariesSelfTest with slf4j

An extra test is added that runs with all the JARs on the
classpath, so that NativeLibrariesSelfTest gets run both with and
without SLF4J available. Some instances of NativeLibrariesSelfTest
will still fail if we accidentally introduce a hard dependency on
SLF4J.
[MAT-358] Replace appropriate printlns with Logger

This makes the library quiet from the Java side. Some println
calls remain, in places where the user would expect to see output
- for example, in the fuzzer and NativeLibrariesSelfTest.
Merge pull request #112 from OpenGamma/MAT-358-rebase

Add logging using SLF4J
[MAT-431] Rename real8->real4

In the root dir:

`find . -type f -print0 | xargs -0 sed -i 's/real8/real4/g'`
`find . -type f -print0 | xargs -0 sed -i 's/Real8/Real4/g'`
[MAT-431] Rename real16->real8

In the root dir:

`find . -type f -print0 | xargs -0 sed -i 's/Real16/Real8/g'`
`find . -type f -print0 | xargs -0 sed -i 's/real16/real8/g'`

And fix up the symbol name for the OS X backtrace test in
check_exceptions.cc because the method name is now 20 chars.
(Many thanks to Stuart A for spotting that one!)
[MAT-431] Use types consistently in jdispatch

Rename double -> real8
Rename complex<double> -> complex16
[MAT-431] Use real8 consistently vs. double

In src/librdag:

`find . -type f -print0 | xargs -0 sed -i 's/double/real8/g'`
Merge pull request #113 from OpenGamma/MAT-431

[MAT-431] Rename real types to correct width
[MAT-355] more lapack templates.
[MAT-355] WIP lapack templating.
[MAT-355] WIP II lapack templating.
[MAT-355] adding bad_alloc protection
[MAT-355] further bad_alloc protection
[MAT-355] xgeev and QR functions added.
[MAT-355] rebase to get s/real16/real8/