Changed Mojo::Util::trim()

trim() would not handle undefined values well before.  Granted, users should handle this themselves, but why not?

Also, I broke the ORed regular expression out into two separate expressions.  I didn't go so far as to get into this: http://www.perlmonks.org/?node_id=36684 but I thought handling the undef and splitting the expression into two parts was useful.

I added a test case for an empty string as well as undef.  Nothing really special.