Split parsing into functions and added bolding

The parsing works in stages: First initial_layout is run, which does the
<p> tags, line breaks and similar things. Next, formatting_tags runs,
which adds text formatting like italics and bullet points (maybe bullet
points should be moved to initial_layout). Finally, special_chars is
run, which replaces special characters with their HTML escape codes, and
adds images.

Improved italics parsing by using a try...except - this seems to be the
best way to check for possibly non-existent list indices.

Bold parsing added - it is intermingled with the italics parsing

Next step is to add bullet points and underlining
Began work on <ul> functionality

Now detects where <ul> tags need to be placed, but does not yet add
them, the <li> tags or any of the necessary closing tags