Extract commond requires and call it only once

It helps seeing what files are helpers and what are
commands. Also, sooner or later someone would forget to copy some
requirement, but it would work, because some other file already did
that. And then, when the order of required files changes (which just
happened to us in hammer_cli_katello), it starts failing.
Merge pull request #70 from iNecas/eliminate-requires

Extract commond requires and call it only once
refs #4119 - hammer-manifest - add request_headers method to allow exteners of WriteCommand to override and pass

refs #4119 - hammer-manifest - updated tests to handle optional headers