Don't use uniform initialization for structs because VC++ 2013 is buggy
Fix compilation with boost 1.52. Closes #1670.
Add semicolons to things that apparently sometimes need semicolons