Merge dmd pull requests 1102 and 2294  — Improve default argument processing
Rename TypeFunction::funcdecl to sym to be consistent with other Type classes
Use Type::equals instead of pointer comparison
Preserve TypeFunction::sym when merging a function type