Clean existing

Looks for src and metadata dirs

Doesn't match partial names, now looking for exact
New push by file path

Ability to push a file by absolute or relative paths
Clean up pushByName

Now since the complex logic is handled in the path method we
can just use pushByName to search for the file path and then
push it by the path
Accept multiple files in force push
Format push.go

Run of  to convert spaces to tabs and format
Use EqualFold instead of ToLower
Use XML library for building package.xml file
Get api version from force.go
Ignore package.xml in successes
Add better error printing with Line Numbers

Also, if pushing via a file name it will print out any errors
in a standard error format for parsing by any editor plugins
written to rely on Force CLI

In vim: `set errorformat+=%*[\"]%f%*[\"]\\,\ line\ %l:\ %m`
Merge pull request #76 from ViViDboarder/push-enhancements

Push enhancements