Use Base.(at)mathconst, add sintau, costau, modtau

It's not actually necessary to define `@mathconst`--you just have to write the last term as an expression.  

In this PR, I chose to write it as `(2*big(pi))`, but you could define it directly as 

```julia
BigFloat("6.283185307179586476925286766559005768394338798750211641949889184615632812572417997256069650684234135964296173026564613294187689219101164463450718816256")
```

which is (almost) how you wrote it in your current version, except that the quotes are necessary. Without the quotes, the number is interpreted as a `Float64` and loses most of the precision.  

(Try `tau - 2*big(pi)` with your current version.)
Just in case the usage of `@math_const` isn't clear: if you provide a variable name for the third parameter, the macro assumes that there exists a function "mpfr_const_$varname".  This exists for `pi`, but not for `tau`, which is why the code above fails.  

However, if instead of a name, you provide an expression, that expression is evaluated for the `BigFloat` value of the constant (e.g., as in https://github.com/JuliaLang/julia/blob/master/base/constants.jl#L56 and the line below).

There's always a chance that the value will be off in the last decimal place, but given how many decimal places there are, that's probably ok. ;-)

Cheers!