Rewrite exec utilies to be generic

This patch adds executil.BaseCommand, which contains some scaffolding
for building generic and simple CLI commands. Also, executil.py
contains a couple of predefined commands, such as Python, Shell,
Powershell etc.
fileexecutils, as well as userdatautils, were rewritten to use the
new command framework instead, which greatly increases usability
and simplifies cross platform issues.

Change-Id: Ifcd91da95a272ef68d56491f90bc213826eb7679
Merge "Rewrite exec utilies to be generic"