Upstream changes around Any and 'static bounds.

``Box<Header> + 'static`` is now ``Box<Header + 'static>``,
``as_{ref,mut}`` is now ``downcast_{ref,mut}``, and we’re all happy.
Change crate type from dylib + rlib to lib.
Workaround to make make/cargo play together.
Fix a type error in tests.
Replace deprecated to_owned() with to_vec().