tests: move tests to toplevel

This also includes a basic test for the navigation system. Mostly just
because it was annoying to separate the commits.
tests: improve navigation-list tests.