fix #path, #self.format_file to do the right things

`# path` will not have access to property_hash[:path] when called from
something that manages resources, rather than just collecting all
instances. we use @resources when in those contexts, and fallback to
@property_hash else. the main reason we have to implement this in the
first place, is because we're using a namevar that's not `name`.

at the end of #self.format_file's collect we need to always return a
line. that `line` will be nil, if we try to be clever:

    line =  "foo"
    line += thing unless false

will not return the "foo", but instead nil. yay ruby.

remove the defaults (:undef) for comment and size, or puppet will start
changing them from '' to :undef, because that's not the same thing.

n.b.: with this commit we're moving storage.rb out of
trafficserver_storage, so that puppet will not try to autoload it.