UTF8 generator

WIP; currently not possible to test proper shrinking because of
implementation using ?FORALL().
Isolate proper_unicode to its own module
Move UTF-8 unit tests to the right place

- There is no predefined "utf8()" Erlang type, so we can't cross-check the
  hand-written generator against the type translator (replaced the relevant
  entry with 'none').
- No need to check negative examples -- since the user-defined generator unit
  tests require the full intermediate type (all ?LET-generated values
  explicitly specified) , we'd just end up exercising the ?LET system.
Merge UTF-8 generators by Motiejus, closes #83 #63 #48