Fix for mozilla/rust@248cb90

See also mozilla/rust#10579 - `std::ptr::read_ptr` shouldn't take `*mut`
Use libextra's EnumSet to hold study options
Remove the UTF16 and UTF32 API-specific options
Fix for mozilla/rust@21990cd

See also mozilla/rust#10622 - Removed unneccessary `_iter` suffixes from the various APIs
Fix compilation errors "last argument in `do` call has non-procedure type"
Remove `#[fixed_stack_segment]` attributes

Fixes warnings "obsolete attribute: Remove it"