Re wrote backup in go

Previously backup was a cmd plugin writen in bash.
Backup was implemented as a go function, still not in use.
Tests where added since the previous implementation had none.
backup package includes:
 * BackUp function, which performs the actual back up.
 * tarFiles which creates a tar or tar.gz/tgz depending
on the output file name given.
 * runCommand which is a convenience function to simplify testing
since the back up process requires calling external executable
mongoexport.
Unfortunately, h.Name is not correct here, because the FileInfo only contains the base name of the file (as documented in http://golang.org/pkg/os/#FileInfo.

It will work if you change the second h.Name to ent.

If the tests checked tar contents, this could have been caught.