Fix mapping over procs

Turns out, #232 didn't completely fix the issue. We sometimes use Proc objects to lazy load stuff in drops. This PR takes that into account. Also, make sure that we always call ```to_liquid``` if possible (and for backwards compatibility, make ```map: "to_liquid"``` a no-op if we call it on something which doesn't respond to it).

Please review @dylanahsmith