Split mangle test into two files

We currently have two VarDeclarations in mangle.d which reference
the same symbol. This causes problems in the GCC backend as it does
not realize it actually deals with the same symbol and therefore
reorders reads and writes. It's not clear if this will be fixed in the
GCC backend at all as the fix would break other stuff. It's also
kind of weird to reference a symbol in this way. The correct way
is to use aliases.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60214

Anyway, this test was likely not supposed to test if the compiler
recognizes that these are the same variables, it was probably just to
test that we can read/write to a symbol with a specific mangle.
Move AggregateDeclaration's access checking methods into free functions in access.c
Merge pull request #3280 from jpf91/mangle

Split mangle test into two files
fix Issue 12193 - opOpAssign ignored if this aliases to bool value
Merge pull request #3282 from 9rnsr/fix12193

[REG] Issue 12193 - opOpAssign ignored if this aliases to bool value
[Refactoring] Remove parseTemplateArgumentList2
[Refactoring] Rename to parseTemplateSingleArgument
[Refactoring] Add parseTemplateArguments
fix Issue 1566 - Nested template issue
fix Issue 12201 - Crash on forward reference import within mixed in template
Merge pull request #3286 from 9rnsr/fix12201

Issue 12201 - Crash on forward reference import within mixed in template
Move Module::toCBuffer and genhdrfile into free functions
fix Issue 12207 - IFTI fails for static method of immutable type
Move FuncDeclaration::isBuiltin into a free function
fix Issue 12203 - typeof(null) does not convert to "void delegate(float)"
Move ForeachStatement::inferAggregate into a free function
Move ForeachStatement::inferApplyArgTypes into a free function
Move SliceExp::toStaticArrayType into a free function
Move BinExp::scaleFactor into a free function
Move BinExp::typeCombine into a free function