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
Add shift and invert mode to eigs
Merge remote-tracking branch 'origin/master' into mine/eigs
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
Move intfuncs up higher so we can get proper errors
Fix Profile.print() for un-exporting of tty_cols
doc: fix table in functions.rst
doc: mention languages using pass-by-sharing function call behavior.
Add documentation for symmetrize!
Merge branch 'master' of github.com:JuliaLang/julia

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Merge pull request #4193 from JuliaLang/sf/intfuncs

Move intfuncs up higher so we can get proper errors