added spitfire to bench and did some more refactoring

--HG--
branch : trunk
diff --git a/jinja2/parser.py b/jinja2/parser.py
index 34a3140..2b26fc7 100644
--- a/jinja2/parser.py
+++ b/jinja2/parser.py
@@ -685,8 +685,7 @@
                 if end_tokens is not None and \
                    self.stream.current.test_many(end_tokens):
                     return body
-                while self.stream.current.type is not 'block_end':
-                    body.append(self.parse_statement())
+                body.append(self.parse_statement())
                 self.stream.expect('block_end')
             else:
                 raise AssertionError('internal parsing error')