Rename NbNode.apply to NbNode.apply()

This allows for cleaner syntax in for comprehendsions. We can now do
{{{
  for {
    n <- NbNode()
  } yield n
}}}

instead of
{{{
  for {
    n <- NbNode.apply
  } yield n
}}}
Adjusted tests for Nodes and StateTransFunctions

All tests were adjusted to dire's new `simulate` function for
testing complex stateful data.