Basic encryption wrapper and interface

Summary: This adds the basics needed to expand with new encryption libraries.

Test Plan: Write some unit tests, and actual tests with the suggested library/package.

Reviewers: brooke

Reviewed By: brooke

Maniphest Tasks: T22

Differential Revision: http://phabricator.cubex.io/D3