Migrate usages of index(), isFirst(), and isLast() to indexed for loops.

Change-Id: If1a615412b2f90b7bbb04eb4088b89e9ce9be8da
diff --git a/resources/com/google/gitiles/templates/BlameDetail.soy b/resources/com/google/gitiles/templates/BlameDetail.soy
index 366419d..1589056 100644
--- a/resources/com/google/gitiles/templates/BlameDetail.soy
+++ b/resources/com/google/gitiles/templates/BlameDetail.soy
@@ -47,8 +47,7 @@
   {call objDetail.blobHeader data="$data" /}
 
   <table class="Blame">
-    {for $line in $data.lines}
-      {let $i: index($line) /}
+    {for $line, $i in $data.lines}
       {let $region: $regions[$i] /}
       <tr class="Blame-region {$region.class}">
         {if $region.abbrevSha != null}
diff --git a/resources/com/google/gitiles/templates/Common.soy b/resources/com/google/gitiles/templates/Common.soy
index 4b52d3b..3a33299 100644
--- a/resources/com/google/gitiles/templates/Common.soy
+++ b/resources/com/google/gitiles/templates/Common.soy
@@ -76,9 +76,9 @@
     <div class="Container {if $containerClass}{$containerClass}{/if}">
       {if $breadcrumbs and length($breadcrumbs)}
         <div class="Breadcrumbs">
-          {for $entry in $breadcrumbs}
-            {if not isFirst($entry)}{sp}/{sp}{/if}
-            {if not isLast($entry)}
+          {for $entry, $index in $breadcrumbs}
+            {if $index > 0}{sp}/{sp}{/if}
+            {if $index  < length($breadcrumbs) - 1}
               <a class="Breadcrumbs-crumb" href="{$entry.url}">{$entry.text}</a>
             {else}
               <span class="Breadcrumbs-crumb">{$entry.text}</span>
diff --git a/resources/com/google/gitiles/templates/DiffDetail.soy b/resources/com/google/gitiles/templates/DiffDetail.soy
index 782d006..519ed77 100644
--- a/resources/com/google/gitiles/templates/DiffDetail.soy
+++ b/resources/com/google/gitiles/templates/DiffDetail.soy
@@ -49,8 +49,8 @@
   {@param fileIndex: ?}  /** position of the file within the difference. */
 <pre class="u-pre u-monospace Diff">
   <a name="F{$fileIndex}" class="Diff-fileIndex"></a>
-  {for $part in $firstParts}
-    {if not isFirst($part)}{sp}{/if}
+  {for $part, $index in $firstParts}
+    {if $index > 0}{sp}{/if}
     {if $part.url}
       <a href="{$part.url}">{$part.text}</a>
     {else}
diff --git a/resources/com/google/gitiles/templates/ObjectDetail.soy b/resources/com/google/gitiles/templates/ObjectDetail.soy
index b1f280c..4fc4b99 100644
--- a/resources/com/google/gitiles/templates/ObjectDetail.soy
+++ b/resources/com/google/gitiles/templates/ObjectDetail.soy
@@ -266,8 +266,8 @@
   {if $lines != null}
     {if $lines}
       <table class="FileContents">
-        {for $line in $lines}
-          {let $n: index($line) + 1 /}
+        {for $line, $index in $lines}
+          {let $n: $index + 1 /}
           <tr class="u-pre u-monospace FileContents-line">
             <td class="u-lineNum u-noSelect FileContents-lineNum"
                 data-line-number="{$n}" onclick="window.location.hash='#{$n}'"></td>