Change execution tasks to take config objects and add Maestro main trait...

....

1. Provides configuration objects for maestro tasks,
   so the user can specify the config once at the start
   of the job and not repeat themselves below.
2. Provides a MaestroConfig object with factory functions
   which supply default values for most upload, load,
   sqoop import/export, and hiveTable configuration parameters.
3. Provides a runner trait which can be extended to form a main
   class.
4. Moves execution tasks and related classes to exec namespace.
5. Corresponding changes to documentation, tests, and examples.

This closes #252, closes #253, fixes #223, and closes #224.
I think we will have to add a guard function with a custom error message instead of the if statement since the message from the if statement is not very good.