archive/tar: add Header.FileInfo method. Add more cases to FileInfoHeader.

FileInfoHeader can now handle fifo, setuid, setgid and sticky bits.

Fixes issue 4695.

R=golang-dev, donovanhide, r.eklind.87, minux.ma, adg
CC=golang-dev
https://codereview.appspot.com/7305072

Committer: Andrew Gerrand <adg@golang.org>