Create YouTube video object

This object sets up the data for us and we can use the upload method to upload the video
Major overhaul and code cleanup

* Start developing proper Exception handling
* Add proper progress bar
* Scaffolding things for easier development
Persist video obj as BatchUploader properties for better resume after Exceptions, other bugfixes