Updated README.
Renamed run and prepare methods to _run and _prepare

_methods are to be used by vendors
Moved "wrong" template to namespace vendor
Removed a whole lot of unnecessary(?) perfect forwarding.

The code is much easier to read, the optimizer should take care of
pretty much everything, AND it copiles even faster without the code
being riddled with std::forward and std::decay