docs(README): update Node.js install info

Closes #131
Closes #103
chore(gitignore): ignore zip files and docs in the angular lib

These files were being committed and added considerably to the size of
repository, which was making it slow to clone over low bandwidth
connections.

Now we ignore these files so that they don't get checked in by the
automatic release script.

Closes #110
chore(images): optimize and compress all images

This lowers the size of the repository, thus making it easier to clone
over a low bandwidth connection.

Closes #110
chore(package.json): ensure npm install and publish work correctly

We don't want to publish this project to npm so it is set to "private"
It is nice to be able to run `npm install` on the project, which requires
that there is a version number.

Closes #117
Closes #119
Closes #97
chore(package.json): add npm shortcut for running and testing phonecat

In order to run the app all the user will need to type is `npm start`
and for testing `npm test`.

Closes #105
style(web-server): remove a special character

The special character in this file was preventing it from opening correctly
in sublime text 2.

Closes #101
docs(README): fix minor typos and links

Closes #97
chore(package.json): fix name, description and repository info
BUMP ANGULAR VERSION to 1.3.0-beta.3
step-0 bootstrap angular app

- add ngApp directive to bootstrap the app
- add simple template with an expression
step-1 static phone list

- Added static html list with two phones into index.html
step-2 angular template with repeater

- Converted the static html list into dynamic one by:
  - creating PhoneListCtrl controller for the application
  - extracting the data from HTML into a the controller as an in-memory
    dataset
  - converting the static document into a template with the use of
    `[ngRepeat]` [directive] which iterates over the dataset with phones,
    clones the ngRepeat template for each instance and renders it into the
    view
- Added a simple unit test to show off how to write tests and run them
  with JsTD (see README.md for instructions)
step-3 interactive search

- Added a search box to demonstrate how:
  - the data-binding works on input fields
  - to use [filter] filter
  - [ngRepeat] automatically shrinks and grows the number of phones in the view
- Added an end-to-end test to:
  - show how end-to-end tests are written and used
  - to prove that the search box and the repeater are correctly wired together
step-4 phone ordering

- Add "age" property to the phone model
- Add select box to control phone list order
- Override the default order value in controller
- Add unit and e2e test for this feature
step-5 XHR and dependency injection

- Replaced the in-memory dataset with data loaded from the server (in
  the form of static phone.json file to make this tutorial backend
  agnostic)
  - The json file is loaded using the [$http] service
- Demonstrate the use of [services][service] and [dependency injection][DI]
  - The [$http] is injected into the controller through [dependency injection][DI]
step-6 phone images and links

- adding phone image and links to phone pages
- add end2end test that verifies our phone links
- css to style the page just a notch
step-7 $route and app partitioning

- Introduce the [$route] service which allows binding URLs for deep-linking with
  views
  - Create PhoneCatCtrl which governs the entire app and contains $route
    configuration
  - Load the ngRoute module
  - Map `/phones' to PhoneListCtrl and partails/phones-list.html
  - Map `/phones/<phone-id>' to PhoneDetailCtrl and partails/phones-detail.html
  - Copy deep linking parameters to root controller `params` property for access
    in sub controllers
  - Replace content of index.html with [ngView] directive

- Create phone list route
  - Preserve existing PhoneListCtrl controller
  - Move existing html from index.html to partials/phone-list.html
- Create phone details route
  - Empty placeholder PhoneDetailsCtrl controller
  - Empty placeholder partials/phane-details.html template
step-8 phone details view

- Fetch data for and render phone detail view
  - PhoneDetailCtrl controller to fetch details json with [$xhr] for a specific
    phone
  - template for the phone detailed view
- CSS to make the phone details page look "pretty"
step-9 checkmark filter

- Added custom checkmark filter
- Update phone detail template to use checkmark filter
- Added spec for the filter
step-10 image swapping with ng:click

In the phone detail view, clicking on a thumbnail image, changes the
main phone image to be the large version of the thumbnail image.

- Define mainImageUrl model variable in the PhoneDetailCtrl and set its
  default value
- Create setImage controller method to change mainImageUrl
- Register ng:click handler for thumb images to use setImage controller
  method
- Add e2e tests for this feature
- Add css to change the mouse cursor when user points at thumnail images