Launchpad bug-1179630 Autodetect path search order
html: added w in useful places. Patch by Julian Martin Grinblat.
Do not use has_key in snippets, as this is no longer available in python3.
Evaluate word boundaries with Vim, not r'\b'

Certain non ALGOL-derived languages (notably LISP derivatives) do not
share the alphanumeric + underscore definition of a word character.

Fortunately, each language FileType has its own definition of a word
character, which Vim's regex engine uses when matching against the
boundary classes \< and \>.

We change the word matching routine of 'w' snippets to use Vim's regex
engine instead of a static pattern.
Cleaned up code; updated docs.
More style cleanup; added docstrings
Fixed contributors list; saner plugin dir checking.
Fix for bug 1251994

See: https://bugs.launchpad.net/ultisnips/+bug/1251994
Add a test case for bug 1251994
Added taketwo to the list of contributors.
Fixed search order detection for symlinked vim dir
Alphabetize JavaScript console snippets

Ordering these snippets alphabetically based on their descriptions makes
it easier to find what you are looking for and to notice any snippets
that may be missing from the list.
Add missing console API methods to JS snippets

This commit adds snippets for the following console API methods that
were missing:

  - console.clear
  - console.dir
  - console.dirxml
  - console.groupCollapsed
  - console.info
  - console.profile
  - console.table

I left out console.debug and console.exception since they are simply
aliases for console.log and console.error.

Information about the console API can be found at:

  https://developers.google.com/chrome-developer-tools/docs/console-api
  https://developer.mozilla.org/en-US/docs/Web/API/console
Improve console.timeStamp snippet

The console.timeStamp method is camelCased, so I made the description
match the contents. Additionally, there was a missing semicolon at the
end of the line that I added.
Add "b" trigger option to JS console snippets

The "b" trigger option will require that the snippet be expanded only if
it is at the "beginning of the line", that is, only whitespace may
precede the tab trigger.

As suggested by @SirVer[1], this commit adds the "b" tab trigger option
to all of the JavaScript console API snippets.

[1]: https://github.com/SirVer/ultisnips/pull/122/files#r8665940
Use length caching in JS `for` snippet

The previous version of this snippet referenced the object's length on
each iteration of the loop. This adds unnecessary overhead, causing the
loop to be slower. While this will not make much of a difference in many
cases, if the for loop was to be used on a large object or in a tight
loop, it would degrade performance.

Perhaps more importantly, if you were to not cache the length of a live
query, such as DOM queries, you would see significant performance
degradation. If nothing else, this adjustment to the snippet sets things
up for success in more scenarios.
Increase scope of JS `for` snippet placeholder

The `Things.length` part of the JS `for` snippet previously did not
include the `.length` portion. Using some regex replacement, we can
include this bit in the placeholder while still only using the `Things`
bit inside the `for` loop. This should make the snippet slightly more
pleasant to use.
Improve descriptions of JS `for` snippets

More specifically than "faster" and not faster, these snippets count
down and count up, respectively. Adding this information to the
descriptions will help people make the correct decision.
Do not use xrange since py3 does not define it.
Change JS `for` counting down trigger from for to ford

As suggested by @SirVer[1], this commit changes the trigger of the
JavaScript `for` snippet that counts down from "for" to "ford". Since
"for" is used pretty often, this will prevent people from needing to
select which one they want from the menu each time.

[1]: https://github.com/SirVer/ultisnips/pull/123/files#r8686514