Fix bug to add purchase to an atm withdrawal.

This commit fixes a bug which now allows a purchase to be added to a
particulary atm withdrawal.  When a purchase is added, it is pushed to
the 'purchases' property of the atm withdrawal, which is implemented as
an arrary of purchase object literals.  Once added, the purchase list is
updated (for that withdrawal only) and the 'total spent' and 'amount
remaining' are recalculated to reflect the additional purchase.  No
error checking is in place yet--that will be next along with converting
the date to a Date obj.
Change date representation in data.json

Changes the date representation in the json data file since the json
spec does not allow for objects as values.  Change the date to be
represented by and obj literal with {"year": xxxx, "month": xx, "day":
xx} properties.  This should be simple to create the javascript date
objects when the json file is read into memory.
Create js date obj from date literal in json file.

This commit adds functionality to create an actual js date object to
store in the in-memory representation of the atm withdrawals.  JS
objects are not allowed to be stored as values in a json file;
therefore, the initial date json file represented the date of the atm
withdrawal as an obj literal with all the required information.  This
commit uses that obj literal to create a js date obj to store in the
in-memory array.  This makes it much easier to represent the date in the
templates, especially when it is piped through the date filter.
Add 'use strict' to all js files for linting.
Specify data file as parameter to initJSONData().

This commit refactors the withdrawalService slightly to allow for the
data file (json) to be passed to initJSONData() as a parameter.  This
will provide a bit more flexibility if other json data files are used
for testing.
Install & config grunt for linting with jshint.

Installed grunt and added jshint plugin for linting js files.  First
time using grunt from scratch so starting with a basic Gruntfile.js to
defint the jshint task.  Will no doubt iterate with additional
functionality--grunt is an awesome tool.

Minor edits to other js files in order to pass the lint checks.
Rename files.

Renamed js files from controllers/atmCtrl.js to controllers/atm.js and
services/withdrawalService.js to services/atm.js.  Adjusted index.html
to reflect the new file names.
Change '/' to main view with Main controller.
Rename some controllers and details view
Add basic routing with angular-route
Refactor index.html