Prevent unexpected error from calling log.wraptext on undefined

Previously internal calls to `grunt.log.wraptext(77, undefined)` would throw an uncaught error. This was due to the `text.match` call. Now, if `grunt.log.wraptext` is called with `undefined` or a string of `length === 0`, `''` is returned. This also make calls to `grunt.log.*lns()` print the expected status text. For example `grunt.log.oklns()` will output `OK`.

Added a check to ensure text is *something* significant (ie: not of length 0 or undefined), modified tests for this functionality.