Backport processmanager

Conflicts:

	salt/master.py
Basics working, can't handle restart of a master yet...
Handle failures of upstream masters
Update notes
pep8
Major re-work to look more like MultiMinion
Add hard coded timeout for syndic being dead
More code cleanup, wrap all the calls to syndics in _call_syndic
Make backoff use acceptance_wait_time
Pep8 cleanup
Add master_id to master docs
Add master_id to pub/ret data as ground work for multi_syndic

Conflicts:

	salt/minion.py

Conflicts:

	salt/minion.py
Clean up shutdown process, since these are only in one of the child processes
Handle OSError, you will get this because the signal handler interrupts the systemcall to avoid traces like:

```
Traceback (most recent call last):
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 232, in _bootstrap
    self.run()
  File "/usr/lib64/python2.6/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/home/thjackso/src/salt/salt/master.py", line 308, in run_reqserver
    reqserv.run()
  File "/home/thjackso/src/salt/salt/master.py", line 506, in run
    self.__bind()
  File "/home/thjackso/src/salt/salt/master.py", line 500, in __bind
    self.process_manager.run()
  File "/home/thjackso/src/salt/salt/utils/process.py", line 180, in run
    pid, exit_status = os.wait()
OSError: [Errno 4] Interrupted system call
```
Break on error, to avoid races and stuff
An additional race condition in shutdown-- if the signal is sent to all children
Add "wait_for_kill" to process_manager to avoid join() stalling forever
Fix regression in url encoded salt-api messages

Most clients that do url encoding include other data in the Content-Type field (requests for example sets "application/x-www-form-urlencoded; charset=utf-8"). This changes the api to be a more forgiving server which will make any non-list struct a list
Make this a debug line, we see it a lot and don't really care :)
Don't need to connect to the publish sockets, it will do that automatically when you ask for an event