Added methods to Vtr::Level to gather triangular patches for future use.
Generalized limit functions to support all schemes:
    - added detection of sharp corners in generic scheme limit mask query
    - tweaked Loop limit mask to simplify the regular case
    - updated TopologyRefiner::Limit() methods to support all schemes
Fix a Far::StencilTablesFactory crash bug on 'perfect' topology

Torii (and other planar topologies) are made entirely of regular b-spline patches and do not
generate sub-patches through adaptive isolation: we need to make sure that we construct
stencil tables with singular stencils for the coarse vertices instead of returning empty
tables (and crash in the limit stencils factory)
Add opensubdiv/version.cpp

This empty cpp file is added to address some cmake dependency resolution issues
with XCode project-based build generation.

I may add some functionality to version.cpp in the future

Thanks stopiccot for investigating the issue and doing most of the leg-work.

fixes #356
Refactor Far::PatchTables

- split Far::PatchDescriptor into its own class (mirrors Far::PatchParam)
- hide PatchArray as a private internal structure
- add public accessors patterned after Far::TopologyRefiner (returning Vtr::Arrays)
- propagate new API to all dependent code

note: some direct table accessors have not been removed *yet* - see code for details
Fix Windows build