Support multiple credential types in DTRS

Currently site (default) and chef
Allow dot in valid identifiers
Call the core DTRS functions using the correct variable names

This makes it explicit which DTRS dashi calls keep using old variable
names for backward compatibility.
Fix typo in comment
DTRS and Provisioner support for Chef server ctx
Delete Chef node on terminate

Also improve error handling in node creation
Add pychef to setup.py and requirements.txt
Feed Chef credential name in via Provisioner vars
EPUM support for Chef credential name in domain

The value "chef_credential" is loaded from the domain general
config and passed through in provisioner vars for all VMs
launched by the domain.
Fix for OOIION-1103

Process execution_engine_id should take precedence over process_mappings
Add test to make sure PD doctor exits cleanly.

This is mostly for the case where monitor heartbeats is off, as in
OOIION-1116. This patch also fixes the bug described there.
Merge pull request #18 from ooici/dtrs_chef_credentials

Chef server contextualization support
Support client_name in Chef credentials

Instead of assuming default value of "admin".
Also fixed an error handling bug.
Remove Chef node on launch failure
Allow validation_client_name to be set in chef credentials
Introduce Process ASSIGNED state

Processes enter the ASSIGNED state when they are assigned to
a resource, before a request is sent to the resource's agent.
Processes remain in this state until acknowledgment of the process
is received from the EE Agent in a heartbeat, or until the process
is terminated out of band.
Automatically retry PD->EEAgent launch requests

OOIION-969
Fix PD matchmaker bug introduced in 8a87641870639
Sync requirements.txt with setup.py
Merge branch 'master' into phantom0.2