Make version info in core.go standard and simpler

Remove goopt.Suite and version number from each individual main package
Add build flags for Unlink; Sync implementation

Sync has a different signature on Linux than on *BSD.
Neither Windows nor Plan9 have either Sync or Unlink for whatever reason
Makefile changed so that it can build multi-file commands