Use a range of ports for ui tests

This way, if one fails and it's tearDown is never run, the next
LiveServerTestCase can still spin up with a new port