Make Maybe a struct

 - Decided that a struct is a better fit for the Maybe as the value we
are passing round is then an object reference plus an bool. Also,it
naturally solves the equality and default constructor setup.

Jon Skeet reference: http://www.yoda.arachsys.com/csharp/references.html