switch to C array of section data for performance reasons

Seems to result in a massive boost in performance when there are a
large number of sections.
Merge branch 'master' into performance-improvements
documentation and header cleanup for data class
fix typo

How’d this get in there?
revert demo back to normal case
Merge pull request #107 from jwilling/performance-improvements

Performance improvements