Rewrote newton to use a static assert to check for floating-point type validity. Gives clear error message when trying to use it with integral types
Refined newton behavior when dealing with divergence and added exception tests