resource: refactor File resource type
resource: refactor File resource type

File resource type now manages only regular files and the
Directory resource type manages directories.

That means that File resource type no longer can handle
directories in recursive manner.

In order to do that we will Lua for this task to dynamically
create File and Directory resources when we need to
recursively deploy a directory.

That would allow us to keep much simpler logic in our File/Directory
resources and also to take full advantage of the Lua language,
which is used the DSL language.

ranjithamca/gru