Improve defun command

- fix infinite loop bug
  Do M-x coffee-beginning-of-defun at first line
- Improve coffee-mark-defun for top level defun, class
- Add utilities tests of defun commands
Merge pull request #193 from defunkt/improve-defun-commands

Improve defun command