Add rounding modes to normal floating point arithmetic
Add Float32 rounding mode tests
Integrate the new rounding modes with BigFloats

This changes the old rounding mode sketch to a more intuitive one,
and using types instead of constants seems to be more logical.
Export RoundAwayZero too (even though it only works for BigFloats)
Stop hardcoding the `fenv.h` constants

As suggested by Viral in https://github.com/JuliaLang/julia/pull/3149
Fix bug while parsing fenv_constants.h
Renaming of the rounding modes
Fixes post-rebase
Remove fenv_constants.jl, as it is auto-generated
Documentation for the rounding modes (manual + stdlib)

It also includes some updates to some related sections about
BigFloats.
Fix issue with fenv.h and Ubuntu 12.04

If the values from fenv.h aren't found by the C preprocessor, it uses
the default ones for x86/x64
surround hidden names in __

this might as well be a convention. it also prevents a mangled version of
"foo" from tab-completing with prefixes of "foo".

exclude symbols containing '#' from tab completions; these names are not
typeable anyway.

fixes #3163
Revert "Update windows calculation of jl_cpu_cores to disregard hyperthreading"

This reverts commit 667715462041bcf9ab7f7eea428958e2c226ee32
Merge branch 'master' of github.com:JuliaLang/julia
make shell_parse return the indexes of the last parsed thing, which is
needed for completion
Merge pull request #3149 from andrioni/floatrounding

Ability to change rounding mode for all floats (cf. #2976)
make jl_gc_counted_realloc use the standard signature for realloc
use a separate function for GMP, the only current known user
Merge branch 'master' of github.com:JuliaLang/julia
unexport solve and fld1
fix doc entry for redirect_stdin
Merge ESS changes to julia-mode.el with backwards compatibility.

This is just commit 2bfcc92a5499a736d5a434ab9616bdf32a8d5950
with a few compatability fixes.