Add a parametric Nullable{T} type

This adds a parametric Nullable{T} type that can represent a value of type T that may be missing. It's got a very minimal interface with the hope that this will encourage you to resolve the uncertainty of whether a value is missing as soon as possible.

Work left to do:

* [x] Get test suite working
* [x] Add a section to the manual based on the docs available at https://github.com/johnmyleswhite/NullableTypes.jl

I also did a little bit of whitespace removal along the way, which is hopefully forgivable.

Ok. Leaving it out in the first iteration seems better to me. I'd much prefer LLVM to handle removing a duplicate nullity check.