Backport #3576: Add anorm support for parsing UUIDs from JDBC Strings

I'd use `try`/`catch` here instead of `Try`/`match`. It's just a little bit simpler to use the native keywords unless you're using one of the features of `Try`.
```scala
try Right(UUID.fromString(s)) catch {
   case NonFatal(_) => Left(TypeDoesNotMatch(...))
}
```