Adding additional macros to enable polymorphic support across compilation units.

closes #5
renamed binary_detail namespace to variant_detail
reverting back to original CEREAL_REGISTER_TYPE impl
first implementation of portable binary archive
adding portable binary to unit tests