Some more location information and added declaration attributes into FunctionDeclaration scope

Hi,

I pushed the node.attributes to the FunctionDeclaration as there is no back pointer to the container of the node, and I need to know what are the attributes of the function when I 'visit' a FunctionDeclaration object.
Also, I did not want to "mess" with the memberFunctionAttributes member, so I added another member.

Rest is some more location information that I need while visiting some other nodes.

Thanks
Liran