Added helper functions for constructing and triggering envelopes

See example in README for details of how to operate exponential-env, linear-env and step-env behave similarly.

trigger-env works as follows fro envelopes with stepped linear and exponential segments:
```clojure
(hum/trigger-env vcf :frequency 
                 [[hum/set-value-at 100 1]
                  [hum/exponential-fade 1000 3]
                  [hum/linear-fade 100 5]]
                 (hum/curr-time ctx))
```