Annotate destructors in the C++ scope tree

Two tweaks on things I missed out on in the previous PR:

1. Properly annotate destructors (check for a `~` token preceding the function name, which we have confirmed matches the class name),

2. When attempting to walk over an initialization list, fail if the `:` encountered is associated with a class access modifier.

![screen shot 2014-10-24 at 9 42 56 am](https://cloud.githubusercontent.com/assets/1976582/4772903/da0303aa-5b9c-11e4-9f64-4400043b8656.png)