create target directories on-demand

closes #2996.  Moves the logic for creating target directores
from init-time in cask.rb to install-time within the artifact
classes.  Removes the need for special-case mkpath for each
new artifact type.
Merge pull request #3075 from rolandwalker/mkpath_on_demand

create target directories on-demand