Fixes infinite loop when switching on NaN.

If NaN is the descriminant of a switch, and there's a default case
(`switch(NaN){default:true}`), then the interpreter will hang. This is
because the interpreter breaks the switch loop by checking if the
descriminant is equal to some other value. Since NaN doesn't equal any
value (even itself) the switch loop never breaks.

The fix is to explicitly check if the matchDefault flag has been set.
Merge pull request #5 from beala/switch_nan

Fixes infinite loop when switching on NaN w/ default case.