Remove more conflict flags

Missed some conflict flags
Initializing sed_flux_dep_incision

Created component; very much not functional yet.
C++ in the flow router

flow_routing/route_flow_dn (the fastscape router) now runs a bit
faster, as I’ve implemented some C++ for the loops in its helper method
flow_accum/flow_accum_bw.

This uses scipy.weave, and is set up so that in the event a compiler
isn’t found (& I think it would be in standard installs, anyway) it
will override and return to using the pure Python.

Speed gains aren’t crazy, but it definitely helped, and in part this
was an exercise testing I followed how weave works.
C++ weave in stream power

Complementary to changes in flow routing, fastscape_stream_power now
also exploits weave for looping over nodes. Again, if a compile fails,
it will fall back on Python-only methods.

Also:
1. deleted a depreciated driver for Fastscape erosion and replaced it
with a working one.
2. Found and replaced a call to an outdated grid method in
flow_accumulation.__init__.
Increments to documentation, sed_flux erode

…Ongoing build of sed_flux_dep_incision mechanics; improvements to docs
Merge branch 'master' into sed-flux-dep
debugging node_slopes

base.node_slopes() had problems passing parameters to
node_slopes_using_patches. Should now be solved.
Creating transport limited fluvial module

Created tl_fluvial_monodirectional, a transport limited fluvial
incision component which is designed to work only if flow is convergent
(i.e., any given node always has a uniquely defined downslope node).

This component is as yet completely untested; this is essentially an
initialisation commit.
Merge branch 'master' into sed-flux-dep
various improved documentation

Docs
New and altered drivers

A couple of new test drivers, and minor tweaks to several old ones
Bug in fastscape_stream_power.py

This resolves the longstanding bug in fastscape_stream_power.py. Now
giving the analytical solution.
minor bug in stream_power.py

Needed to apply a maximum only on a given axis at ln 255.
base.by minor doc changes, resolve a name conflict

grid.forced_cell_areas led to a conflict. The internal object is now
_forced_cell_areas, and forced_cell_areas is the property call to get
it.
introducing masked arrays for two functions

rfuncs.calculate_gradient_across_cell_faces() and
rfuncs.calculate_gradient_across_cell_corners() now both return masked
numpy arrays rather than numpy arrays with BAD_INDEX_VALUE in the
invalid positions. This should be more efficient for almost all
applications; hopefully shouldn’t break anyone’s code.
raster.py boundary node and BAD_INDEX handling

A number of alterations to raster.py:

1. altered forced_cell_area to _forced_cell_area in line with changes
elsewhere to avoid property conflict.

2. New properties node_spacing_horizontal and node_spacing_vertical to
allow future compatibility with regular but not square grids.

3. New method calculate_gradient_along_node_links(). This differs from
existing similar methods in that it returns an array nnodes long, not
ncells long. Uses numpy masked arrays to block out nonexistent or
inactive links.

4. Started process of switching sign conventions to S,W,N,E (v. minor
progress to far). Only so far affects the ordering of boundary node
statuses.

5. Tweaks to the property naming conventions for fixed_value
boundaries. Should still be backward compatible. You are now encouraged
to set the BCs after the data is loaded into the fields; if you do, BCs
can be updated to a single new method…

6. Added update_boundary_nodes(). A single call to this method will
update/ensure consistency of all boundary nodes of types FIXED (grad or
value) in the grid fields.

7. get_neighbor_list now takes an optional argument ‘bad_index’. This
can now override the default BAD_INDEX_VALUE when necessary (e.g., to
invoke -1 indexing). Should be zero slowdown from this.
channel_profiler bug

channel_profiler now works better on grids with cell areas !=1.
video_out enhancements

You can now optionally set start, stop, and step to only include fixed
parts of your model run in the video output.

Added clear_module() to allow manual deletion of data held internally
by the component, which could cause conflicts with later uses in the
code.
tl_fluvial_monodirectional incremental changes

Some incremental changes to this module. It doesn’t yet work as-is.
tl_fluvial_monodirectional_alt primary component

This component is actually the better version of
tl_fluvial_monodirectional. Now working fairly nicely, though there are
some issues with handling the diffusivity at very low drainage areas.
This code will soon disappear, and be used to overwrite
tl_fluvial_monodirectional.py.