Use the CRTP in detail::basic_execution_policy to avoid a lot of redunda...

...nt code in derived execution policy classes.