Wrapper to LLVM round, sign for numbers, sqrt, cis, ceil, floor and round for complex numbers

List of changes:

* replaced existing rounding method for numbers with LLVM `round`,
* added a `sign` method for `Number`, where the sign function is defined as in [here](http://en.wikipedia.org/wiki/Sign_function),
* added `cis`, `sqrt`, `ceil`, `floor` and `round` methods for complex numbers.

There are several more methods to add for complex numbers, they will be coded in a third commit on complex numbers :)

As a standalone question, what is the best way to go about documentation, is it better to add these to gitbook incrementally or is it better to rewrite the docs collectively later?