chore(travis): run two jobs

Instead of parallelization on a single Travis VM, we use two VMs.
- output is nicer (we don't have to buffer e2e tests and then show it at the end)
- you can easily see faster the result of unit tests (as it's basically a separate build)

We should also make sure we only do the necesary stuff (for install we don't need to do `grunt
package` for unit tests, we only need to generate the docs for e2e tests.
chore(scripts): refactor travis scripts

Refactoring so that it's easier to use both SL/BS just depending on a global switch.
chore(scripts): fix bower script to pull from master before updating
fix(angular-mocks): use copy of mock data in $httpBackend

Copy mock data returned from the mock $httpBackend.
This prevents modifications to the response from affecting future responses.
Previously, this misbehavior was being mitigated by the deep copy in $resource, but that no longer exists.
docs(error/transclude/orphan): fix spelling mistakes

Closes #5259
docs(ng.$rootScope.Scope): fix API links

Also added a note to the Writing AngularJS Documentation:
https://github.com/angular/angular.js/wiki/Writing-AngularJS-Documentation/d0c715ef89

Closes #5261
docs(tutorial/step-07): update path to pages in e2e scenarios

The url paths in the tutorial are not in line with the actual tutorial code

Closes #5264
docs(guide/expression): remove misplaced comma

Closes #5280
docs(ngSwitch): clarify that ngSwitch matches against string literals

Closes #5285
fix($compile): Allow literals in isolate scope references

When a component uses an isolate scope reference
and the the component is used with an object literal
a new object is created on every evaluation.
Therefore the compiler needs to compare
the values of the parent and the isolate scope
using object equality and not object reference
equality.

Fixes #5296.
fix(ngView): Add template to DOM before linking other directives

The template needs to be added to the DOM before
other directives at the same element as `ngView` are linked.

Related to #5247.
fix(ngInclude): Add template to DOM before linking other directives

The template needs to be added to the DOM before
other directives at the same element as `ngInclude` are linked.

Fixes #5247.
perf($injector): remove invoke optimization that doesn't work

Closes #5388
style($injector): remove ws
fix(closure): add missing FormController extern definitions

Closes #5303
perf: use call and === instead of apply and == in type check functions

Updates isDate et al to use call instead of apply and === instead of ==.
The change to call brings minor performance improvement and === is just
better practice than ==.
http://jsperf.com/call-vs-apply-tostring

Closes #5295
perf($resource): use shallow copy instead of angular.copy

Replace calls to angular.copy with calls to a new function, shallowClearAndCopy.
Add calls to copy for cache access in $http in order to prevent modification of cached data.
Results in a measurable improvement to the startup time of complex apps within Google.

Closes #5300
perf(a): do not link when href or name exists in template

Change the a directive to link and hookup a click event only when
there is no href or name in the template element.
In a large Google app, this results in about 800 fewer registrations,
saving a small but measurable amount of time and memory.

Closes #5362
perf(jqLite): implement and use the `empty` method in place of `html(‘’)`

jQuery's elem.html('') is way slower than elem.empty(). As clearing
element contents happens quite often in certain scenarios, switching
to using .empty() provides a significant performance boost when using
Angular with jQuery.

Closes #4457
docs(TRIAGING): add info about "needs: public api"