Rewrite soynode to use OO instead of global state

Hello @dpup, 

Please review the following commits I made in branch 'nick-options'.

1be87b1a1c8e4b54230cb074e980f3d84dec459f (2014-12-23 13:40:43 -0500)
Rewrite soynode to use OO instead of global state

R=@dpup