Ensure those two pointers are rooted.
Root a forgotten tuple
fix #8807, regression in constructors when evaluating field types

this changes `fieldtype` to accept a type as the first argument, instead
of an instance. this allows us to use it to `convert` the arguments to
`new` to the field types, instead of evaluating the field type
expressions. this is more general (e.g. in case the mapping from
field type expressions to final field types becomes more complex).
also makes `fieldtype` more similar to `fieldoffsets`.
Update .gitignore
Merge pull request #8819 from JuliaLang/ob/membug

Fix two memory errors
Merge branch 'upstream-master'