Fix symmetric encryption when syncing.

Also does:

  * Remove all crypto methods from LeapDocument.
  * Encode 'encryption_scheme' inside the document JSON.
  * Add functions for encrypting and decrypting.
  * Fix LeapSyncTarget so its connection actually returns a LeapSyncTarget.
  * Fix symmetric encryption when syncing:
    - don't try to encrypt tombstone documents.
  * Fix symmetric decryption when syncing:
    - Only try do decrypt if the incoming document has an '_encryption_scheme'
      entry with value equal to EncryptionSchemes.PUBKEY.
  * Fix doc skipping for non-syncable docs.
  * Fix tests that compared raw content with encrypted content.