Change name of Declaration node to be Identifier | ComputedPropertyName

This adds a type for ComputedPropertyName from ES6, and the necessary type modification in the compiler's Node hierarchy.
Not too crazy about temporary variables just for the sake of changing the type. Elsewhere we tend to just write the type assertions (since they disappear in the output) or, when meaningful, refactor into a function that takes the more specific type as an argument.