remove type/typeval from extensions
split into smaller unit tests
reimplement user <-> extension association
Merge branch 'refactor_extension_typeval'

* refactor_extension_typeval:
  reimplement user <-> extension association
  split into smaller unit tests
  remove type/typeval from extensions