Refactoring to make code simpler/less nested
Move License and version function into "core.go"
Clean up Cp and Implement some more of it.

Implement recursion
Clean up the code like two commits ago
Separate the nodereference check out into its own function.
Println -> Printf; print errors to stderr

Separate out printing usage and exiting on misuse of command into core