Trace processing info decorator

This standardizes and generalizes the way we store processing information with the trace, using inspect module in a decorator that can be attached to any method of Trace:
```python
>>> paz_sts2 = {'poles': [-0.037004+0.037016j, -0.037004-0.037016j,
...                       -251.33+0j,
...                       -131.04-467.29j, -131.04+467.29j],
...             'zeros': [0j, 0j],
...             'gain': 60077000.0,
...             'sensitivity': 2516778400.0}

>>> print read()[0].detrend().
...     simulate(paz_remove=paz_sts2, water_level=60, sacsim=True).
...     resample(250).differentiate().filter("bandpass", freqmin=0.1, freqmax=20)
["0.9.0rc1-15-g8be0:taper:max_percentage=0.05:max_length=None:type='cosine':side='both'",
 "0.9.0rc1-15-g8be0:detrend:type='simple':options={}",
 "0.9.0rc1-15-g8be0:simulate:paz_simulate=None:remove_sensitivity=True:paz_remove={'zeros': [0j, 0j], 'sensitivity': 2516778400.0, 'poles': [(-0.037004+0.037016j), (-0.037004-0.037016j), (-251.33+0j), (-131.04-467.29j), (-131.04+467.29j)], 'gain': 60077000.0}:simulate_sensitivity=True:water_level=60:sacsim=True",
 "0.9.0rc1-15-g8be0:resample:sampling_rate=250:strict_length=False:window='hanning':no_filter=True",
 "0.9.0rc1-15-g8be0:differentiate:type='gradient':options={}",
 "0.9.0rc1-15-g8be0:filter:type='bandpass':options={'freqmax': 20, 'freqmin': 0.1}"]
```

 However, this currently uses `getcallargs` in `inspect` module that is not present in Python 2.6, so we can not use this approach currently..