Added functionality generate full jacobian (Jacobian of all output nonzeros with respect to all input nonzeros)
Added weak (non-owning) reference functionality
Proper caching of full jacobians