Fixed pep8 linter errors
Use subprocess.Popen instead of subprocess.call to issue shell commands.

Subprocess.Popen allows us to communicate with the shell that we launch.
As a result this commit also allows us to print stderr and stdout in the
event that a build fails.