WIP: Roughly for arrays

* `roughly()` works with arrays, element-wise
* `roughly()` uses `isapprox()` from `julia/extras`

Also fixed `has`->`haskey` (`has` is deprecated)

The reason to use `isapprox()` instead of the implementation that was already there is twofold:

1. The implementation in `isapprox()` is more sophisticated, taking machine epsilon into account for different data types etc
2. I already made `isapprox()` work with arrays, so it was easy to re-use that (see JuliaLang/julia/#3042)

This should definitely not be merged before the pull request above is in the repository, and perhaps we should also wait for a decision on `nearequal.jl` (where `isapprox()` resides) in issue JuliaLang/julia/#2422 so there's a good way to import the code.