Merge pull request #698 from unihorn/61

bump(goraft/raft): 585c58026c
fix(Dockerfile): debconf use noninteractive

DEBIAN_FRONTEND=noninteractive tells apt-get install to use the
noninteractive front end for debconf. This keeps the system from
attempting to interact with the user during package configuration.
Without it, debconf issues warnings like:
```
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (@INC contains:
/etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
/usr/local/lib/site_perl .) at
/usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
```
Merge pull request #699 from stevecrozz/suppress-debconf-warnings

fix(Dockerfile): debconf use noninteractive
feat(server): make header-only requests work
chore(server): handle HEAD for key space efficiently

Implement HEAD in server/v1 and server/v2 functions to avoid
time wasting on JSON marhsal.
feat(server): add HEAD for v1/watch
Merge pull request #702 from unihorn/60

feat(server): make header-only requests work
chore(build): set build path to gopath/

With this, pkg/ could be used as normal directory, and it doesn't need
to gitignore pkg/, which shields pkg/http and pkg/strings.
feat: set NOCOW for log directory when in btrfs