MinFinder rebased PR

Sorry for duplication of #72, but I'm still learning git and could not for the life of me rebase/merge that branch, so out of frustration I created a new one.

In addition to the remarks in #72, I've added Distributions back in because the stopping rule draws from a binomial. If you have some strong feelings about depending on Distributions, I guess I could just implement that here in Optim.jl.

Again, sorry for the duplication, bear with me in my learning curve :)
You may devectorize and fuse the loop of computing ``norm(p.x - q.x, 2)`` and ``dot(p.x - q.x, p.g - q.g)``. Here's an example:

```julia
px = p.x
qx = q.x
pg = p.g
qg = q.g
s = 0.0
t = 0.0
for i = 1:length(px)
    dx = px[i] - qx[i]
    dg = pg[i] - qg[i]
    s += dx * dx
    t += dx * dg
end
return sort(s) < dist && t > 0
```