Add a Julia version using multiple dispatch

One of Julia's big features is multiple dispatch, so here's a version using it. Also taking advantage of varargs, tuple types, and anonymous functions to make it all work.