[TAV-312] Handle external service credentials.

First pass at this stuff so that it works in a basic way. No attempt is made to
work out which services are being used at this point; all those that are in the
system are passed to every run.

Also passwords are not currently obfuscated - we can't hash them because we need
the plaintext versions to pass to the services (via Taverna Server) and
hashing is a one-way operation. Need to think about this.