Add an internal option for parallelization level

We need to add tests for parallel builds!
Refactor deploy in smaller functions + unittest
Add a module for user input/interface

This makes user interactions testable (to a certain extent), and more
uniform
Add tests for the user interaction in upload flow
Updated UI tests
Add a test for the credential manager calls
Add tests for username / password storage
Merge branch 'refactor-deploy'