Add cat and cp executables

@rginda 
Executables can now declare the expected argument type ahead of time and be guaranteed it's correct before they're executed.  Set

  main.argSigil = '@';

...to declare that executeContext.arg should be an array.  "$" means string, "%" means object, "*" means any value, and "" means no arg.