Feature/requirement smoothing

Solves #1270

Changes requirements to make the requirements of the libraries we are using.

Running `inv requirements --all` twice will no longer reinstall packages; most notably lxml.

Additional all tests can now be run with `inv test --all`