traverseNode should be using index looping rather than key looping.
Quote Node.js version number in .travis.yml

Otherwise the value it's interpreted as a float: 0.1

References #909
fix #950, find with falsy values should returns empty array
Added windows phone detection
Added $.os.wp to tests, and fixed ie conditional
Merge pull request #961 from haas85/master

Added windows phone detection
Merge pull request #959 from hojs/find-with-falsy

Find with falsy values should returns empty array
Fix confusion of `.attr('value')` and `.val()` on `<input>`

`.attr('value')` should not use `.val()` on `<input>` specially.
Fixes #939

Adds `testValVsValueAttr` to confirm their relations.
Have `text()` accept a function argument

This is for jQuery compatibility. Makes it work similar to `html()`
and other methods that accept a function in their setter form.
Make `text(value)` assign empty string for `null/undefined`

Previously it would assign a literal string `"null"` for null, which
wasn't very useful.
Merge pull request #960 from hojs/attr-input

`.attr('value')` returns the attribute value instead of `value` property
Shave off a few bytes by avoiding `arguments.length` checks

Closes #350, closes #931
Do not eval SCRIPT tags if parent element is not in the DOM

Closes #969
Cleanup checking whether node is inserted in the DOM
Merge pull request #929 from jameskeane/master

traverseNode should be using index looping rather than key looping.
Second argument to `attr/prop/data` is always a setter

This enables setting `undefined` value
Improve tests that verify attr/prop/data setter erasing
Shorten checking if 2nd argument was passed

Continues on 761201e80fa81750d3cefe3d4d3cd2801b33362b
Setting maxLength to undefined yields weird result on Phantom

Apparently it sets maxLength to "524288":
https://travis-ci.org/madrobby/zepto/builds/29254260

Use a custom property to avoid magic browser behavior around certain
properties.
Merge branch 'attr-setter'

Closes #952, fixes #942