be_within(x).percent_of(y) with negative y

Hi. 

I've encountered a false failing result when specify a ```be_within(x).percent_of(y)``` matcher
with negative y.

Here I send a patch adding a test for this issue and fixing it.

I hope it will help you.