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.
Just a quick note, I think some comments for FunctionLike interface will be good. so we know immediately why we need such structure