Use ECDH instead of RSA for key exchange

This is a combination of 3 commits.

Generate, upload and store ECDH public keys
  Adds a service to generate ECDH public keys and upload them to the
  server.  Also syncs with the server once a week to delete any keys that
  the server no longer has.

Use ECDH for key exchange instead of RSA
  When we get a message, derive the AES symmetric key from our private key
  and the public key that is provided in the message.  All further secure
  messages that are sent are encrypted with the derived symmetric key.

Remove dependency on scprov-jdk15on
  By building the ECCurve ourselves, we can remove the dependency on
  scprov-jdk15on.  This change also depends on sc-light-jdk15on from
  spongycastle externals.

Change-Id: I502fd8ca24874570b4753e30d1e2d1b811100607
Prefill email/password from SystemProperties

If the application is built with CMAccount.DEBUG set to true, try to
prefill the email and password from system properties.  This is very
useful, as you do not have to login every time you push a new APK to the
system.

Change-Id: Ia983ccd4dd1b294de5a2c31d91655ab29b2d0a97

Conflicts:
	src/com/cyanogenmod/account/util/CMAccountUtils.java
Do not encrypt sequence

Change-Id: Icca23be8ecddd8ccea1bc844771b727a7c20e77a