Don't let Component.add re-encode already encoded values. This simplifies
  the API, since there is no need explicitly pass encode=False. Fixes #82.