Fix 1514

Adds a :tab-width: option as suggested in Issue #1514 which is I think useful.

Also, it uses the same replacement directive in all cases, before, .. code:: would trigger different code than .. code-block::