Refactor client code, implement basic DB and algorithms

- implement basic time average functions with unit tests;
- add scramble algorithm for 3x3x3 with unit tests;
- create basic API for interacting with DB and with WIP tests.
Install lodash, fast-check and pouchdb-adapter-memory
Add custom folder for adding local type definitions
client: Move test code into it's own folder
client: Fix requiring pouchdb-find plugin
client: Delete src/react-app-env.d.ts
Add empty docs file Add build badge and link to documentation
client: Use styled-components instead of CSS files

Useful references:
server: Add "namespace" for userDB to avoid clash on shared Cloudant instance
client: Add crude durable timer functionality
secrets: Export $HEROKU_API_KEY
CI: Install rsync package in CI image
CI: Add SSH keypair for pushing with rsync
CI: Fix typo $SHA -> $TAR_SHA
CI: Use StrictHostKeyChecking=no configuration for SSH access
Use tarball SHA for deduplicating instead of git SHA
Generate API docs and coverage report and rsync it