Refactor Packer and PackerTool

Resolves #1 - adds refactored Packer code (formerly known as Packer DLL) and new PackerTool.

This is a draft, first version of new Packer written almost entirely from ground up and still has missing features from #19 and #20. Additionally, Packer unit tests were written.
C++11 "raw string literal" can be used here to improve readability.