Testtag: More cleanly handle no id param & make asynch

/testtag now 404s when not given an id parameter and is considered asynchronous, so it must call self.finish() itself and it should not be called for it. This should be the correct behavior for a servlet called by json on the page.