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.

With `a.b` overloading, this could also just be `x.value`.