Feature finding in 3d

See https://github.com/soft-matter/trackpy/issues/161 for motivation

- Allows tuple values in for diameter, separation and smoothing_size in locate routine. If an integer is given, it is converted to a tuple with the right dimension. Order is the same as the image dimension order (z,y,x normally)
This is tricky. We do want to merge peaks within `separation` of each other, so using `query_pairs(1)` is not going to work (though I can see why you would use that as a quick fix to get rolling). If, say, the separation is `(5, 5, 1)` we need to build at least two different trees. One will be `cKDTree(positions[:, [0, 1]])` and it will `query_pairs(5)`. The other will be `cKDTree(positions[:, [2]])` and it will `query_pairs(1)`.

Does that sound right?