Add optional enabler for @Pack annotations

To support cross-platform projects that use explicit structure
packing, we need to turn explicit @Pack annotations on or off based on
platform properties. This patch introduces a class parameter to the
@Pack annotation that can be used to determine the platform.

See the new unit test for details.