More refactoring. Tests and benchmarks now compile with GCC and clang.

  * The function aliases for MakeVar etc. in Domain have been removed. They were intended as syntactic sugar, but if the domain is a dependent type, D::template MakeEventSource<int> defeats the purpose. Using MakeEventSource<D,int> directly simpler in this case, and using it all the time is consistent.
  * ReactiveObject has been removed. Instead, a macro is used to define aliases. ReactiveObject aliases did not work, if the domain is a dependent type.
  * No longer using {} initialization, because it was giving me trouble.