Add new attribute type UUID

Check if given object looks like a UUID, eg:
   `450b7a40-94ad-11e3-baa8-0800200c9a66`
Valid UUIDs are 16 byte numbers represented as
  a hexadecimal string in five sub-groups seperated
  by a dash. Each group has to consist of a fixed
  number of hexadecimal digits:
   | Group | Digits |
   | -----:|:------ |
   |     1 | 8      |
   |     2 | 4      |
   |     3 | 4      |
   |     4 | 4      |
   |     5 | 12     |

Read more about UUIDs:
  [Wikipedia (en)](https://en.wikipedia.org/wiki/Universally_unique_identifier)
Improve: expect correct error to be raised when passing invalid UUID
Merge pull request #19 from jgraichen/feature/uuid_attribute

Add new attribute type UUID