Code clean and improved symbolic differentation

differentiate() now works on multi-item sums
integrate() now allows Simpson's or Monte Carlo methods