Setting up dependencies. Installs modules. Adds test structure.
Refactors into more bit sized chunks.
Adds first test case to make sure it's uploading to the right directory