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
Touch implementation. No bugs; only missing --date
Add Ln; functions shared by Ln and Mv to core.go
Refactor Mv to use functionality now in core.go