Issue title: IsCloseTo doesn't work with infinity
 Issue body: Presumably, any pair of doubles that match equalTo should also match closeTo with the epsilon set to 0.

`MatcherAssert.assertThat(Double.POSITIVE_INFINITY,IsCloseTo.closeTo(Double.POSITIVE_INFINITY, 0d));`

`Exception in thread "main" java.lang.AssertionError: 
Expected: a numeric value within <0.0> of <Infinity>
but: <Infinity> differed by <NaN>
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
...`

 Comments: 
 Comment 0: The problem here is subtracting one infinity from another, which is Not A Number. I don't think it's worth us handling this.
 Comment 1: Why?  Are you asking for a pull request?
{'source': 'GithubIssues', 'repo_name_with_owner': 'hamcrest/JavaHamcrest', 'issue_id': 153317904, 'repo_stars': 2009.0}