Druid-Resto / Warlock better interrupts / jpconditionparser small fixes

Added a new druid resto rotation (old one's still there) - it's work in progress, so it DOESN'T fix #321 - but I'm working on it...

Did also change warlock interrupts...it's now a function which returns a macro - this way locks can interrupt while casting that's why it's now interrupting at <1 second no need to interrupt earlier - it's now also possible to interrupt if the felhunter is sacrified.

And another change to jpconditionparser - it didn't work if the function returned a macro....fixed now.
While i was at it i noticed it always changed targets on macro, but only switched back if you're a healer (that was a relict of the old parse function).
Don't know why only healers...doesn't seem to make sense to me - removed it - you'll now always switch back if you changed targets...this shouldn't break anything...only rotations that should behave different are the warrior pvp rotations...and those macro shouldn't work in the first place anyway

added jps.cachedValue(fn,...):
caches a value returned by a function and only refreshes it
every jps.UpdateInterval.
Should reduce rotation execution time if a lot of values are
caluclaated over and over again

Oh and sorry for the merge commit's...did fork of a feature branch in mercurial ;)