Made multiple registration work
Multiple registration works
Re-organized code to have impl last

Suppress multiple keys (unused)
Added function to get keys
Added keys with locations
Removed uneeded braces
Cleaned the usage of 'name'

Named test appropriately
Added first comments describing the implementation
Added factory:: namespace to protect Registry name
Re-organized the template parameters, which revealed a order fiasco
Fixed initialization order fiasco

Clarified names
Implementing mechanism for injection
Implemented CanNew method

Started working on documentation of registerer
Added documentation and example
Fixe the usage of macro in private section
Cleaned the CMake file
clang-format
Fixed tests and clang