Do not increment property if increment is NaN

Includes fixes for incrementProperty and decrementProperty.

incrementProperty and decrementProperty will now throw a TypeError if attempting to increment/decrement by a non-numeric value or Infinity.

Retains support for 0 increment

Added tests for NaN, non-numeric string, and Infinity