Codensity and the ultrafilter monad