Make expression parser goroutine-safe.

See https://github.com/prometheus/prometheus/issues/127

I prefer a mutex over a channel in this case because it doesn't require me to spin up another long-lived goroutine just for reading parse-requests from a channel.