Initial working RPS with tests.
Added a bunch of things. Promise I'll make a single commit for everything now on.