Made forward declarations of struct vs class consistent against main declaration
Fix hidden overload warnings
Surpressed clangs tautological comparison warnings when safe
Removed unused private field
Fixed use after free
Merge pull request #193 from archgrove/master

Looks good! Thanks for the contribution!
Clang warning fixes