add support for FILE parameters.

if a job requires file paremeters, then we cannot use the /build form to
request the build, we need to switch to the /buildWithParameters trigger
and provide a multipart encoded upload.

thankfully requests library has all the plumbing.
tidy ups
resolve conflicts
fix up some tests