Add ifloor, iceil and itrunc to BigFloat (#3040)

They convert to a Int64 if it fits, otherwise to BigInt.
Change ifloor/iceil/itrunc to always return a BigInt
Add typed versions of ifloor, iceil and itrunc

It also includes extensive changes to the conversion of both BigInt
and BigFloat in order to make them more general and to start raising
errors when trying to convert values bigger than Clong/Culong.
Added section on how to include new code in base library.

Also moved section on contributing a package up, to make it more visible. That makes it clearer that it is the preferred method of contributing new functionality.
Merge pull request #3041 from andrioni/master

Adds iceil, ifloor and itrunc to BigFloat
Merge pull request #3051 from tlycken/contrib-base

RFC: Added section on how to include new code in base library.
Note that any additions or changes to base should be discussed on
the list or in a github issue.
ranges: allow zero-step ranges without colon syntax [closes #3053]
A quine program (written by Leah Hanson).