Cleanup README for release.
Update README.md

Minor reformatting; listed the sample driver programs supplied with the library.
Minor edits to README.md

Enable syntax highlighting for code snippet.
Throw exception for illegal call to update from spike::Solver::update()

Move all exception throwing for illegal calls to update() to spike::Solver::update()
from spike::Precond::update().
Make private the type definitions in spike::Solver.
Throw an exception if Solver::solve() is called before Solver::setup().
Cleanup comments.
More doxygen-style commenting.
Added some doxygen-style comments in the CUDA kernel files.
Cleanup various functor objects.

Make functor objects private to the class that uses them (in graph.h)
Change names of functor classes to be more expressive.
Wrap the timer classes in the spike namespace.
Merge branch 'release/1.0.0' into develop