fix($compile): prevent double attr interpolation w/ templateUrl

This fixes the issue that caused two attr interpolation observers
to be registered for the same attribute as a result of isolate
scope definition with attr (@) property for this attribute.

Duplicate observers would then fight with each other updating the
model.

The issue occured only when this directive was used in a repeater
because that's when we clone the template node which caused the
two observers to point to two different sets of $attr instances.

Closes #1166, #836
refactor(): simplify nodeLinkFn
style($compile): better fn names for debugging
fix($compile): compilation should not recurse into empty nodes

if a node doesn't have children then don't try to compile these non-existent children
fix($compile): don't look for class directives in empty string

if className is undefined or empty string, don't bother looking for directives in there
fix(doc): typo on FAQ

Closes #1493
feat(docs): add plunkr support

Add option to edit source in Angular Docs in Plunkr in addition to JsFiddle
fix(docs): correctly generate filenames for plunkr/fiddle

previously examples like $http where broken because we would strip part of the
filename (http-hello.html -> http)

we really want to strip only the id suffix that we append to disambiguate
common filenames (like index.html) which appear in many examples.
docs(contribute): fix task name for continuous testing
fix(scenario-runner): support data-ng and x-ng based attributes

Prefixed attributes like data-ng-model and x-ng-model were not being
found by the Selector. It was only looking at ng: and ng- prefixed
attributes.
Added a few tests as well to ensure the aforementioned prefixed
attributes are being matched properly.

Closes #1020
chore(injector): fix typo in injector documentation
docs(module): fix typo in example

fixed example app, `simpleAppModule` should have been `myAppModule`.
docs(guide/location): fix table formatting

Fix table formatting so headings are bold, rows are separated by lines, and rows have :hover style
chore(validate-commit-msg): allow '/' in scope
fix(select): select option with a label of 0 is not shown

Bug caused by the use of the `||` operator to replace all non-truthy
values with an empty string. Changed to replace only `undefined` values.

Closes #1401
chore(testacular): use local testacular version

Making testacular a dependency to avoid having to install it globally.
(Causes npm issues on some machines)
Update docs/content/guide/directive.ngdoc

docs(directive): fix typo
chore(docs): remove obsolete gae files
chore(docs): fix docs-scenario.html
feat($sanitize): support telephone links

Per http://www.ietf.org/rfc/rfc3966.txt support tel: links