feat(build): migrated from testacular to karma

This entailed several changes to many files, mostly a grep/sed affair.
For easier management, we also migrated the local build task for
Testacular/Karma to the NPM package `grunt-karma`.

Node was updated to 0.10 and the Travis CI config to run with Karma. Due
to the changes in the Node version, the Grunt tasks were updated to
their latest version.
feat(build): live reload added through grunt-watch

Closes #3.
Merge pull request #19 from joshdmiller/issue003

feat(build): live reload added through grunt-watch
feat(build): Add grunt ng-min for annotation

Incorporated @btford/grunt-ngmin and changed all annotated (array-style)
definitions to unannotated definitions.

Closes #2
feat(*): far better Bower integration

Bower is now the official delivery channel for Twitter Bootstrap and UI
Bootstrap and is an integral part of how ngBoilerplate works. Several
files and directories were renamed for this change to make sense.

Notably, src/components is no longer for vendor code, but for
drag-and-drop reusable code created by the user. Vendor code retrieved
through Bower is stored in the vendor directory instead.

AngularJS files are now in a folder called build to accommodate the
above
change, and so the Grunt tasks are now in a folder called grunt-tasks.

The documentation has been changed to reflect these changes.

As this is the major change for v0.2, the package version was updated.

Closes #23. Closes #22. Closes #12.
feat(*): included AngularUI `utils` to use uiRoute

uiRoute has replaced the `activeIfCurrent` directive. To support it,
`angular-ui-utils` has been added as a Bower dependency. However, since
it is not a built version, only the uiRoute was added to the build.

Closes #13.
Merge pull request #30 from joshdmiller/merge013

feat(*): included AngularUI `utils` to use uiRoute
docs(tools): added overview of tools used
chore(index.html): added social media meta tags
Spelling correction.
Karma runner port to 9101, fixing watch issues

Credit to @helmi03.

Tested on:
 - MacOS 10.7.5 (Karma 0.8.5, NodeJS 0.10.4)
 - Ubuntu 12.04 (Karma 0.8.5, NodeJS 0.10.10)
 - Arch Linux (Karma 0.8.5, NodeJS 0.10.10)

Fixes #37. Fixes #20.
Merge pull request #45 from shanestillwell/master

docs(README): fixes minor spelling error
Merge pull request #32 from joshdmiller/tools-readme

docs(tools): added overview of tools used
chore(*): migrated local html2js to npm

Closes #26.
chore(*): removed `dist/` refs from Gruntfile

Using instead, naturally, the `distdir` config variable.
chore(*): renamed src/components to src/common
feat(build): split build into build+compile

To increase build speed during iterative development, the build task
has been split into two tasks: build and compile. The build task
performs only the minimum amount of work necessary to test and run your
app; the compile task does all the production-ready stuff like
minification and concatenation.

The default grunt task now performs a build and a compile.

A large chunk of this feature comes from @ajoslin. Thanks!!!
feat(*): switched to ui-router for state mgmt

Instead of $routeProvider, ui-router's $stateProvider is now used for
managing application states and routes. ui-router is *much* more
powerful and for large applications will provide many benefits that the
boilerplate does not explore in vitro.

Closes #4.
feat(karma): karma config managed automatically

Prior to this commit, any vendor code changes would require manually
adding them to the karma config file. Now, these changes are managed
automatically based on the settings in the Gruntfile.

The `karma/karma-unit.tpl.js` file is a Grunt template that the build
process uses to generate a config file for use during testing. As a
result, the `karma/karma-unit.js` file has been removed.

Unfortunately, there is no easy way to dynamically reload the karma
config file during a watch, so when new vendor files are added to the
build variables in the Gruntfile, we need to restart the watch.

Closes #47.
chore(*): removed node 0.8 from CI