Fix incorrect error messages in the time library
Fix errors in how parsed time values were used

%u flag takes a value in the range of 1-7. However value needs to be
stored in tm.tm_wday between 0 and 6.
%y takes a two-digit year value. Subtracting 1900_i32 from it is not
needed.
Add range checking in the time library

This was requested in Issue #2350. New function match_digits_in_range
added and used instead of match_digits wherever needed.
Tidied up long lines
Spawn new tasks onto the primary scheduler by default. #3760
Add at_exit function #4450
clean up tempfile module and rm FIXME

This removes the FIXME suggesting that mkdtemp should rely on the
default umask, because that would make it unusable for making a secure
work area in a world writable directory (have to assume that other users
have created files, directories, hard links, etc. in your directory).
The POSIX mkdtemp function creates a directory with 700 permissions to
avoid this problem.
Implement Ord trait for Timespec
core: Add private global data interface. #3915
Add `finally` method for deferred execution
Handle region errors where the actual scope is a statement

Prevents a case of "unknown scope, this is a bug".

I judged this too small to review. Closes #4500
Fix the difference method on bit vectors
testsuite: Add license
testsuite: Add xfailed test for #4335
Merge pull request #4546 from alexcrichton/bitv-difference-bug

Fix the difference method on bit vectors
Add Alex Crichton to AUTHORS
repr: represent char values as char literals rather than integers.
add a Set trait and implement it for TreeSet
add a LinearSet type (implementing the Set trait)
Merge pull request #4551 from SimonSapin/char-repr

repr: represent char values as char literals rather than integers.