Big commit.

Made an abstract base class "MMEnvelope" from which envelopes should inherit.
Made MMTrapezoidEnv comply to the interface of MMEnvelope.
Made MMEnveloper which uses an MMEnvelope to envelope a signal.
Changed MMSigConst's init function so that it must be initialized with
something. This should be the new standard: if an object's method does not check
if something is initialized (which it shouldn't do as this slows down
everything) then force that object to be totally initialized upon initialization
(calling of Object_init()).
Made some tests for all that stuff.