Implement setting declaration types in the AST from the keyword plugin

Not sure whether this is right. Not feeling particularly bright after
the two hour training. Tests not fixed yet. Help/merging to master welcome.
Fixed typed variable parsing.

Not sure what parse_barestmt/parse_fullstmt should be useful for,
but there seems no way to make them work inside subroutines: they
require the statement to be either at end of input or semicolon-terminated
(and swallow the semicolon) hence 'sub x { typed .... = @_ }' is always a
syntax error (no semicolon) and 'sub x { typed ... = @_; ... }' requires
to lex_stuff() an extra semicolon after parsing the declaration.

parse_fullexpr() seems to do the trick.
Some code and test fixes for type declaration handling
Chainsaw all attributes handling code.