Multiple refactors

This PR contains multiple refactors, the major changes being:

- IO code separated into cs_io.py
- Configuration simplified and separated into cs_cfg.py as CSConfig class.
- Circuitscape state separated into cs_state.py. Right now it is just a simple class, but plan to move some more code into it in future.
- circuitscape.py split into base, raster and network modes and the former utils.py merged into base. Reason: modularity and have better code sharing between network and raster modes.
- python logging introduced for logging instead of print statements. Planning to use python logging throughout with custom handlers for different outputs.