Specify that nil Optional monad returns its value

This commit fixes the following mutation:

    $ mutant --fail-fast --include lib --require monads --use rspec
    'Monads::Optional'
    #<Method: Monads::Optional.[]> does not have valid source location
    unable to emit matcher
    #<Method: Monads::Optional.members> does not have valid source location
    unable to emit matcher
    #<Method: Monads::Optional.new> does not have valid source location
    unable to emit matcher
    #<UnboundMethod: Monads::Optional#value> does not have valid source
    location unable to emit matcher
    #<UnboundMethod: Monads::Optional#value=> does not have valid source
    location unable to emit matcher
    Mutant configuration:
    Matcher:            #<Mutant::Matcher::Config
    match_expressions=[#<Mutant::Expression::Namespace::Exact
    syntax="Monads::Optional">] subject_ignores=[] subject_selects=[]>
    Integration:        rspec
    Expect Coverage:    100.00%
    Available Subjects: 1401
    Subjects:           2
    Monads::Optional.from_value:/home/peter/devel/monads/lib/monads/optional.rb:17
    mutations: 11
    - rspec:Monads::Optional.from_value
    ...........
    (11/11) 100% - killtime: 0.06s runtime: 0.78s overhead: 0.73s
    Monads::Optional#and_then:/home/peter/devel/monads/lib/monads/optional.rb:7
    mutations: 32
    - rspec:Monads::Optional#and_then
    ..../home/peter/devel/monads/lib/monads/optional.rb:10: warning: unused
    literal ignored
    ./home/peter/devel/monads/lib/monads/optional.rb:10: warning: unused
    literal ignored
    ./home/peter/devel/monads/lib/monads/optional.rb:10: warning: assigned
    but unused variable - block__mutant__
    .............F
    (19/32)  59% - killtime: 0.98s runtime: 2.34s overhead: 1.35s
    Monads::Optional#and_then:/home/peter/devel/monads/lib/monads/optional.rb:7
    - rspec:Monads::Optional#and_then
    evil:Monads::Optional#and_then:/home/peter/devel/monads/lib/monads/optional.rb:7:4c5e7
    @@ -1,9 +1,9 @@
     def and_then(&block)
       block = ensure_monadic_result(&block)
       if value.nil?
    -    self
    +    nil
       else
         block.call(value)
       end
     end
    -----------------------
    Subjects:  2
    Mutations: 43
    Kills:     30
    Alive:     13
    Runtime:   3.13s
    Killtime:  1.04s
    Overhead:  201.54%
    Coverage:  69.77%
    Expected:  100.00%