Uses unsigned ints internally so value of ifaceIdx matches kDNSServiceInterfaceIndexLocalOnly

I noticed a problem with some of the unit tests on my machine (Mac OS 10.8.5), kDNSServiceInterfaceIndexLocalOnly had the value 4294967295 instead of -1 which was causing some of them to fail.

This pull request applies the changes from [this commit](https://github.com/Wizcorp/node_mdns/commit/c5098d9d812aaf5b3a4f622122aeb817cd6484ab) to all relevant operations.

There's also a change to the Browser class to test for the local-only interface first as it's no longer -1 so won't trigger the `&& ifaceIdx > 0` bit of the if clause.

I'm not really sure if we're supposed to interpret kDNSServiceInterfaceIndexLocalOnly as 4294967295 or -1 as it's [defined](http://www.opensource.apple.com/source/mDNSResponder/mDNSResponder-333.10/mDNSShared/dns_sd.h) like this:

```
#define kDNSServiceInterfaceIndexLocalOnly ((uint32_t)-1)
```

(immediately casting an unsigned value to a signed one seems odd) but at least the tests pass now...