Fix thread-safety problem in SteppingHelixPropagator

Removed mutables in SteppingHelixPropagator and instead put those
data items on the stack when doing the operations.
Make propagate take a non-const argument rather than return a copy

This change avoids returning a copy and instead taking the value by
argument. This only affects the methods new to SteppingHelixPropagator.
Merged refs/pull/3160/head from repository cms-sw
initialize SHPState in a specific way used by the propagator
bugfix for a pretty rare case affecting primarily L2 fast configuration, this was previously shadowed by reusing old states which had a magvolume defined already and was revealed only now after clean new states are used
Merge pull request #3196 from slava77/for-7_1_X_2014-04-02-0200-shpThreadSafe

Multithreading -- Fix thread safety in steppingHelixPropagator (supersede #3160)