This replaces the hard-coded built-in packs with a generator that uses
go-bindata to read the `packs/` directory and generate an internal
representation that is compiled into the binary.
It adds the make target `generate`, which is called by the build and
cross-compile steps.
Doing things this way has the following advantages:
- Managing built-in packs is much easier (see #95)
- The packed binaries are compressed, so overall memory footprint is
smaller
The main disadvantage is that it is harder to share files across the
packs. However, it is likely that these paks would diverge over time
anyway.