abstract request generation to set headers consistently, use redmine/chiliproject header for key, and use url encoding where url args are now used