fix gitignore
fix travis build, upgrading npm version

(cherry picked from commit bc8de6d42b0a489c5990c0ad6142210f1e1658a9)
fix #1143 mocha tests failing on patch builds

New versions of npm (1.4.x) transform the version entry in package.json
from the form like `1.4.17A` to `1.4.17-A` in the env variable.

Hence our build was failing on patch builds when new version of npm was used.

(cherry picked from commit 420de99bc8064eaea7c669cf4b6197b16bd34973)
feat #1137 add tests for util.Dom.getGeometry

(cherry picked from commit 772c77df069c010c006c13fb1b5d540c91970d55)
fix #1137 utils.Dom.getGeometry on absolutely positioned parents

This commit fixes some of the issues in Dom.getGeometry method:

- it adjusted the returned value only on elements with overflow scroll or
  auto, and not when overflow was hidden
- when an element had absolutely positioned ancestors, it was returning
  incorrect values (due to the fact that a parent of absolutely positioned
  element has computed height of 0); particularly it was sometimes wrongly
  returning null while the element was visible in the viewport
- it was sometimes doing calculations unnecessarily

The original issue which triggered the investigation was about SelectBox
inside absolutely positioned parent not displaying the dropdown due to the
call to getGeometry returning null.

Close #1140.

(cherry picked from commit 4bc7708d818b6edc9086056fb98397ec55584e5c)