Implement throw and catch.
Clean up throw/catch code a bit.
Swap exception handler context manager.
Merge branch 'master' into jerith/throw-catch

Conflicts:
	spec/tags/core/kernel/throw_tags.txt
Naming and docstring.
add FloatDomainError and raise it appropriately
return proper infinity and NaN strings for floats with those values
use to_s string here
add Bignum#/
fix Fixnum#/ for Float and Bignum division
Add Fixnum#div, untag specs and add tests because the specs don't cover all behaviour
Merge branch 'tim/NaN-and-Infinity' into tim/Bignum#divide
Merge branch 'tim/Bignum#divide' into tim/add-Float#div
Merge pull request #451 from topazproject/tim/NaN-and-Infinity

Raise proper errors for type conversion and print proper names for NaN and Infinity
Merge remote-tracking branch 'origin/master' into tim/Bignum#divide
translation fix
Merge remote-tracking branch 'origin/master' into tim/add-Float#div
Merge branch 'tim/Bignum#divide' into tim/add-Float#div
tag spec until we fix -0.0 vs 0.0 handling
Merge branch 'tim/Bignum#divide' into tim/add-Float#div