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.
This reads no bytes at all, so the result will always be the same.

I suggest that you'll probably want to check the sha sum of the
gzipped file (as that's what TarFiles returns), so something like:

func shaSumFile(c *gc.C, path string) string {
      f, err := os.Open(path)
      c.Assert(err, gc.IsNil)
      sum := sha256.New()
      _, err := io.Copy(sum, f)
      c.Assert(err, gc.IsNil)
      return fmt.Sprintf("%x", sum)
}

might be what you need.