[WIP] Implement new local runner on top of subprocess.Popen

This pull request re-implement local runner on top of subprocess.Popen.

Previously we used fabric runner which involved a lot of overhead and unnecessary in-direction.
Yes, you are correct. Currently it works like so (I will also add a comment to the code):

1. When "sudo" mode is used, simply use sudo to run action as root (user under which the `st2actionrunner` service is running requires a paswordless sudo)
2. When "sudo" mode is not used and user "x" is specified in the config:
  1. If service is running under the same user "x", run the action directly, no sudo required
  2. If service is running under a different user, use sudo to run the action under user "x" (user under which the `st2actionrunner` service is running requires a paswordless sudo)

As far as 2.2 goes - I imagine that this won't be the case a lot in production deployments, but it's usually the case in devenv when running services under vagrant user, etc.