Conceal number of ciphertexts averaged

-   Update the test file to try the average with 3 ciphertexts instead
    of 2 to ensure I didn't break any crypto while doing that.
Make test tolerant of floating point errors

The test for average usually works, but occasionally I saw something
like this:

    (venv) % python -m unittest test
    ....F...
    ======================================================================
    FAIL: test_paillier_key_generation (test.TestCrypto)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/Users/ben/Dropbox/gtd/prj/edb/test.py", line 125, in
    test_paillier_key_generation
        self.assertEqual(average, 15)
    AssertionError: 15.000000000000002 != 15

    ----------------------------------------------------------------------
    Ran 8 tests in 3.904s

    FAILED (failures=1)

Easy fix: change assertEqual to assertAlmostEqual in the test.
Merge branch 'feature/secureavg'
Make function to generate key file