Add check for packed structs in BOOST_COMPUTE_ADAPT_STRUCT()

This adds a compile-time check for non-padded structs in the
`BOOST_COMPUTE_ADAPT_STRUCT()` macro. Also updates the macro to
add `__attribute__((packed))` to the OpenCL struct definition.