fix($animate): remove the need to add display:block!important for ngShow/ngHide

Since ngShow/ngHide animations add and remove the .ng-hide class, having to remember
to write display:block on your own is a hassle and leads to problematic animation
code. This fix places a default on the animation for you instead.

Closes #3813
docs(ngShow): calirfy info about the .ng-hide class and the display style
docs(misc core): Use `@kind function` instead of `@function`.
chore(travis): run npm install twice

This is not optimal solution at all, but I can’t think of any better.
refactor($parse): don't make the lexer mark tokens as literals
refactor(parse): simplify the Parser's filter function
refactor($parse): remove unused parameters and methods

After removing the json and unwrapPromise mode, some parameters
and methods were no longer used.
revert: feat(*): lazy one-time binding support

This reverts commit cee429f0aaebf32ef1c9aedd8447a48f163dd0a4.

A more performant approach for bind-once follows
perf(*): more performant interpolation and lazy one-time binding

BEAKING CHANGE:
Lazy-binding now happens on the scope watcher level.

What this means is that given `parseFn = $parse('::foo')`,
bind-once will only kick in when `parseFn` is being watched by a scope
(i.e. `scope.$watch(parseFn)`)

Bind-once will have no effect when directily invoking `parseFn` (i.e. `parseFn()`)