Add base for multiple resource types in Packer

This commit implements PackerResource abstract class and inheriting
PackerResourceFile. This will act as a base for new resource types like
Buffer, or others in the future.

Verification:
    Build, run tests. All Packer tests should pass.

Change-Id: Ie6e8d3812576e65fd999b38b47c11466b332b1c5