removes __ from include guards
tests basic accumulate
accumulate iterator inherits from std::iterator
builds test_accumulate
removes delete/default on accumulate ctor and =

Let the compiler figure it out.
tests accumulate with BasicIterable
iterator dereferences to const ref to avoid copy