implemented catch_next and find_catch_clause

* find_catch_clause not working, any docs for its behaviour?
* semantics for try/next?
some refactoring work

* status codes :catch and :rescue are now :throw and :raise,
  which makes a lot more sense.
* raising or throwing exceptions based on the return status on
  defdebug.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   lib/debugger.ex
#	modified:   lib/evaluator.ex
#	modified:   lib/runner.ex
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	.temp_commit
#	Elixir.Debugger.Coordinator.State.beam
#	Elixir.Debugger.Coordinator.beam
#	Elixir.Debugger.PIDName.beam
#	evaluator.old.exs
#	exception.ex
#	lib/foo.exs