return false from is-email? when input is nil

Previous behaviour was to allow the call to matches-regex? to raise an exception
when the input value was nil. This causes problems when using noir.validation
to validate inputs to (for example) a restful service, where it is possible for
the client to omit fields from the input data.

See: https://github.com/noir-clojure/lib-noir/issues/97

Tests have been updated to cover both nil and empty string as inputs to the
is-email? function. All test passing