Add behaviour to cc page

This branch does the following: 

* Setup client-side code to use Bower [1] (like package.json but for client-side deps)
* Add third party jQuery plugin to do input masks [2]
* Setup masking of the cc and expiry fields.
* Add test coverage to the uitests.
* Setup captures for test fails as well as timeouts.
* Use grunt-contrib-clean to nuke the captures dir on uitest runs.

Note I committed the bower_components dir following the way we've done things with node. However, this does raise the following issue.

* bower_components comprises a lot of extra stuff e.g. tests etc.
* Everything in bower_components is exposed as static assets.

So I'm happy to hear thoughts on this as part of the review. It'll be easy enough to tweak things to get rid of some of that clutter if we want. Maybe using https://github.com/yatskevich/grunt-bower-task is the answer as that copies only certain files across from bower_components to a pre-defined lib dir.

[1] http://bower.io/
[2] http://firstopinion.github.io/formatter.js/index.html