Solidity function AST nodes get documentation attribute

Solidity AST nodes get the documentation string attribute if the comment above the function matches the NATspec format (3 slashes for now).

I am not really sure I like the fact that having an empty documentation string and having no documentation string can't be differentiated at the moment. Perhaps this should be fixed. Comments are welcome.
I think we can move `LiteralScope` completely to the cpp file.