Parsing for __attribute__((cleanup))
fold-level checks for cleanup attribute
Changed symtable and flow statement code-gen for cleanup-attr
Cleanup attribute type checking
Code gen for __attribute__((cleanup(...))) - currently doesn't fit in
Examples for __attribute__((cleanup(...)))
Merge branch 'master' into feature/raii

This brings in the correct type printing logic
Test warnings for bad cleanup attributes
Fix order of cleanup argument vs expected
Renamed cleanups.c
Cleanup attributes are allowed on typedefs
Use decl_asm_spel() instead of a direct read

This fixes cases where we haven't generated the spel_asm yet.
Make sure struct btype parsing keeps attributes and qualifiers

Previously due to the two returns, the struct/union/enum parsing
was discarding the __attribute__(()) array.

This was spotted when adding the cleanup attribute:
__attribute__((cleanup(...))) struct A a;
wasn't cleaned up.
Allow __attribute__((cleanup(...))) void* generic argument
Cleanup attribute examples for goto/protected scope
Cleanup jump example with jump threading checks
Merge branch 'master' into feature/raii

This brings in the new backend.

Conflicts:
	src/cc1/attribute.c
	src/cc1/attribute.h
	src/cc1/ops/stmt_code.c
	src/cc1/ops/stmt_code.h
	src/cc1/ops/stmt_for.c
	src/cc1/ops/stmt_if.c
	src/cc1/ops/stmt_if.h
	src/cc1/ops/stmt_while.c
	src/cc1/parse_attr.c
__attribute((cleanup)) handles any scope exit - break, continue, goto and return
Label statements correct a label's scope
Emit debug location for pre-cleanup call