Support both semantic (`strong`) and stylistic (`b`) tags

Hi Dmitri,

Thanks for your work on the library! I'm evaluating the use of markdown-clj with [Tower](https://github.com/ptaoussanis/tower).

One snag: I notice you're transforming `**foo**` to `b` tags instead of `strong` tags. For SEO purposes, I generally like to be able to choose between the two tag types (strong conveys important semantic meaning that b does not).

You've already made it possible to distinguish between `i` and `em`, so I'm wondering if this was an accidental omission? Anyway, this PR adds a distinction between `**` (strong) and `__` (bold) so that:

Semantic
--------------
`**foo** -> <strong>foo</strong>`
`*foo*   -> <em>foo</em>`

Stylistic
------------
`__foo__ -> <b>foo</b>`
`_foo_   -> <i>foo</i>`

The distinction isn't formally in the Markdown spec, but it's a practice that seems to be gaining some traction and is very useful - esp. as HTML5 becomes more popular and the `b` and `i` tags start seeing real use again.

Also note that this behavior seems to line up better with other Markdown implementations. Most implementations I've seen either offer a distinction as above, or just use both `**` _and_ `__` for `strong` (GitHub seems to favor this choice, presumably for SEO).

Note that I've updated all the docs + tests I could find, but did this quickly so may have missed something. Thanks for your time and, again, for your work on the lib!

Cheers! :-)