Change InvalidUUID to InvalidUUIDError

Inherits from TypeError
Converter now returns UUID, Instanciate new UUIDs via .parse

Patched kernel method `UUID(param)` uses `Youyouaidi::UUID.parse(param)`
Add fix for Youyouaidi::UUID.valid? for too long UUIDs

Valid UUIDs with appended characters were considered valid
Release version 0.0.3

Changes:
 - Converter returns UUID object
 - If invalid UUIDs are passed, InvalidUUIDError is raised
 - Use Youyouaidi::UUID.parse for instantiating UUIDs via either short
   or long string
 - Change Youyouaidi::UUID.valid_uuid? to .valid?