Refactor error reporting system

- change error codes from situational to general (fatal / coding / run-time...)
- pull error functions from Osd into Far
- add a templated topology validation reporting system to Far::TopologyRefinerFactory
- fix fallout on rest of code-base
Fix Win build

- make sure we don't get conflicting enums (CODE_ERROR)
- fix template specialization for Far::TopologyRefinerFactory in regression/common/vtr_utils
- fix remaining error reporting code around osd
Fix gcc opt build

- apparently we can't have the Far::TopologyRefinerFactory specialization
  in an obj file or the opt build with gcc crashes
Fix documentation code highlighing

- remove underlines from css on class names
Fix accumulation of stencil derivatives

- make sure not to skip CVs that have 0.0 weight because derivative may be contributing (non 0 tangent weight)

fixes #364
Minor optimization for Far::PatchTables cubic spline tensor computation
Fix glViewer crash for Win Debug build

- switch std::vector::reserve() to resize() so that boundary check on read doesn't have a size 0 vector

fixes #362
Fix accumulation of stencil derivatives

this time without a typo

fixes #364