Implement linearly extrapolated logarithm FParser

This PR adds two new functions to the FParserAD module, a step function ```step(x)``` defined as ```x>0 ? 1 : 0``` and a protected logarithm ```plog(x,y)``` which is defined as ```x<y ? log(y)-(x-y)/y : log(x)``` (a linear extrapolation of the log below y, as well as automatic differentiation rules for both functions (the d/dx(plog) uses step to handle the two cases).

In the same commit I reworked the way my intermediate bytecode representation works for the autodiff stuff, which became necessary due to the way _userfunctions_ work in FParser).

This way of implementing the new functions does not need any changes to the core FParser files.