Support placeholder with range and negative number for __TAG_PARTS__

いきなりのプルリクエスト失礼します。
__TAG_PARTS[1..3]__のようなRangeでのインデックスと、__TAG_PARTS[-1]__のような負数でのインデックスへの対応です。

もしマージして頂けるのであれば、テストコードの変更も追ってプッシュします。