Fill out the rest of the StringPiece functions for 16-bit.

I was originally opposed to these since we didn't need them and they were complicated. But I'm wanting to use some of these functions in a different patch, so it seems like a good time to fill out the std::string-like finding functions for StringPiece16.

This deletes the old StringPieceDetails for which the only point was to share the common stuff between the two BasicStringPiece specializations.

I used the pattern of having two versions of each function declared in the header and then expanding the template in the .cc file, to avoid template bloat in the header.

This replaces all of the size_type goop with size_t. Chrome code assumes these are the same and we encourage people to just use size_t in loops, for example, rather than using the size_type of the template they're iterating over. This makes the code more readable in many places. It also solves a problem with declaration ordering since most of the functions that used size_type are now moved above where the size_type is actually declared.

R=viettrungluu@chromium.org
TBR=akalin, ben

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=255397

Review URL: https://codereview.chromium.org/187793004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256311 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256311
Refresh Public Suffix List for the latest ICANN-contracted registries

This updates to the following revision:
ba86f988fb17 2014-03-10 08:57 -0400

It includes changes from revision a0e75c5556af (2014-01-21 11:40 -0500)
to revision ba86f988fb17 (2014-03-10 08:57 -0400)
, listed at http://hg.mozilla.org/mozilla-central/filelog/a0e75c5556af/netwerk/dns/effective_tld_names.dat

BUG=37436
R=pkasting@chromium.org

Review URL: https://codereview.chromium.org/193413004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256312 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256312