Merge in optimization changes to neuralnet.jl