Push refactor

One of the things I noticed in all this refactoring and the various flags was that ultimately what I am trying to do is get a list of files.  That's all the flags are doing, just specifying different ways to communicate what file-based resource you want to push.

With that in mind, there really only needs to be one flag to specify one or more names for the resources.  With the name, we can scan the working directory to find a resource with that name. Based on the either the contents of the file or the location and name of the parent directory (in the case of aura/lightning components) the metadata type can be determined.  The metadata type needs to be determined to properly construct the package.xml file.