Moving swap IWYU from <algorithm> to <utility>.
Moving swap IWYU from <algorithm> to <utility>.

In C++11 std::swap was moved from <algorithm> to <utility>. As such,
lint needed to be updated to look for/suggest <utility> when it finds
std::swap. The IWYU logic is a little bit different for <utility>
functions, including swap, because they do not typically include
template parameters, unlike most other std:: functions. Reworked the
existing algorithm pattern to be more generic and support multiple
differet headers. Did not rename/all caps _re_pattern_templates as it
is referenced/modified outside of cpplint.py.

BUG=584689

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

git-svn-id: fd409f4bdeea2bb50a5d34bb4d4bfc2046a5a3dd@298622 0039d316-1c4b-4281-b951-d872f2087c98

primiano/depot_tools,CoherentLabs/depot_tools,primiano/depot_tools,CoherentLabs/depot_tools,primiano/depot_tools