Re-implemented copy-sexp

without using (kill-sexp), and as a result have added end-of-sexp and
beginning-of-sexp.