Tweaking the logic for begin/end

The way I was adjusting the indents for begin and end didn't make
sense.  Making some tweaks for that.
Tweaks and changes

I'm adding support for declare and set.  Also I've fixed some logic
bugs with the way I was indenting.