Run tests through Karma, issue #30

This PR features:

- New test folder structure;
- Add code coverage via Istanbul;
- Use bower to manage third-party scripts; 
- Ability to create and test under different scenarios (files or config);
- Ability to run the test suite under different browsers;

#### Output:

```sh
$ grunt test:unit
Running "jshint:all" (jshint) task
>> 13 files lint free.

Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.16 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket 5z6y9TxZx-kJlKKd7Yt- with id 18806509
WARN [PhantomJS 1.9.7 (Mac OS X)]: Adapter did not report total number of specs.
....................................
PhantomJS 1.9.7 (Mac OS X): Executed 36 of 0 SUCCESS (8.486 secs / 8.462 secs)
-------------------+-----------+-----------+-----------+-----------+
File               |   % Stmts |% Branches |   % Funcs |   % Lines |
-------------------+-----------+-----------+-----------+-----------+
   src/            |     98.18 |        90 |       100 |     98.18 |
      countdown.js |     98.18 |        90 |       100 |     98.18 |
-------------------+-----------+-----------+-----------+-----------+
All files          |     98.18 |        90 |       100 |     98.18 |
-------------------+-----------+-----------+-----------+-----------+
```