Update provisioning internals docs

 - Placement directives
 - Availability zone spread

Also, changed to use Markdown format.
Replace rsyslog for non-bootstrap agents

This PR uses a fork of the standard syslog package to stream logs directly to state machine rsyslog daemon

update tls config

* ensureCertificates now adds local IPs to subjectAltName. This allows clients to validate the server when connecting via IP
* fixed tls config passed to the client
Add state machine addresses
Replaced strings.Split() with net.SplitHostPorts()
Updated dependencise.tsv and separated tests

* Only the forwarder tests should be run on Windows
* updated dependencies.tsv to include the --nounixsocket fix on Windows
Add API func ShareEnvironment to client and server API:

ShareEnvironment shares the current environment with the given user.
Under the hood, it adds an environment user to state.
Remove unneeded removes
Added comment
Update the doc for backups and restore.
Clarify about the upload-and-restore case.
a -> is.
Explicitly indicate that root.tar does not include mongo-related files.
Clarify the role of --download and --upload.
Drop an unnecessary comment.
Add Restore Mode to stop api calls while restoring

The main goal of this PR is to prevent data loss
during the different steps of the restore process.
This will be used by restore once it lands.
This is the basic required functionality for this
API server mode.
Following a feaure implemented for Upgrade, an
api root server that can selectively allow API
commands depending on the Restore step we are
running.
When we are preparing a restore: that includes
uploading files if required for instance, the
API will only accept Client.Restore to be
triggered in order to avoid data loss when the
restore runs.
When Restore is running no calls will be allowed
since state server will be down.
When bootstrapping fails, jenv files are now cleaned up.
Fixes LP: #1365144 bug.

Signed-off-by: Jorge Niedbalski R <niedbalski@gmail.com>
Merge pull request #499 from gabriel-samfira/replace-rsyslog

Replace rsyslog for non-bootstrap agents

This PR uses a fork of the standard syslog package to stream logs directly to state machine rsyslog daemon, without the need for a local rsyslog install.

The forked version of syslog allows TLS connections, and works from Windows.
ActionFinish in the API
address @fwereade's comments