Sparse dense merge

@bronevet @jz10 @jhbeika 

This branch contains both tight composition and sparse code. We may need to disable our cxx testing for robustness as constant propagation seems to fail on some of the test cases.