Implemented URL Validation

The application now performs validation at the model layer ensuring that links passed to the application meet a minium level of functionality before creating a ShortUrl. If the model fails validation it does its best to correct the common error of missing a protocol specification in the url(ie http, https) but any other failure is caught and reported to the user.

Fixes #12