Add the go-coreutils implementation of date

Also includes code readability improvements of basename and dirname.