Code region support

Originally from Alan Drake, this adds the ability to fold arbitrary
regions of code using the directives "#region" and "#endregion".