fix($location): default to / for the url base if no base[href]

With the recent refactoring of $location service we changed this behavior
resulting in a regression.

Previously we thought that html5 mode always required base[href]
to be set in order for urls to resolve properly. It turns out that
base[href] is problematic because it makes anchor urls (#foo) to
always resolve to the base url, which is almost always incorrect
and results in all anchors links and other anchor urls (e.g. svg
references) to be broken.

For this reason, we should now start recommending that people just
deploy to root context (/) and not set the base[href] when using
the html5 mode (push/pop history state).

If it's impossible to deploy to the root context then either all
urls in the app must be absolute or base[href] must be set with the
caveat that anchor urls in such app won't work.

Closes #2762
docs(guide/expression): remove reference to `NullPointerException`
chore(doc_gen): add task to run doc-gen specs
fix(doc-gen): correctly transform index files

Closes #3021
docs(guide/controller): fix an error in the scope inheritance example

The chained scope creation example at the bottom of this document was using the childCtrl to create the babyScope, instead of the childScope.
fix($parse): disallow access to Function constructor

Sandboxing Angular Expressions
------------------------------
Angular expressions are generally considered safe because these
expressions only have direct access to $scope and locals.  However, one
can obtain the ability to execute arbitrary JS code by obtaining a
reference to native JS functions such as the Function constructor.

As an example, consider the following Angular expression:

  {}.toString.constructor(alert("evil JS code"))

We want to prevent this type of access.  For the sake of performance, we
disallow any access to any member named "constructor".  You can foil
this by sticking in the Function constructor under a different name in
your scope or exposing other JS apis or the DOM by sticking it on the
scope.  Don't do that - you increase the chances of accidently allowing
an exploit through.