Fastscape acceleration, generalization

fastscape_stream_power is now generalised to take any value of n, and
has been accelerated using weave along with it.

At the moment, performance is EXTREMELY poor if n<1.  This is because
B&W’s assertion that the Newton-Raphson method they invoke is generally
stable is not in fact true if n<1 (because if the algorithm overshoots,
and the downstream node rises above the upstream node during
convergence, we end up attempting negative**-fraction, and the
iteration gives NAN). I can’t think of a way round this right now,
other than just invoking scipy.fsolve directly (which is what we now
are doing).