Fixed issues with header generation

- Expires header expects a DateTime object, and if it gets a scalar,
  creates a DateTime from it. As such, you cannot set `Expires: 0`.
  Modified to send a GenericHeader instance to bypass that
  functionality.