refactor(build): faster, modular, gulpfile, bower push

We talked about doing ci-server-side pushes, but the permissions for git on there are hard to get going.  I figure client-side pushes are fine if we have good automation (angular core does client-side pushes too), and the git permissions take care of themselves that way.

**New Features**

- Refactored, modular, quicker, uses gulp
- Pushes modules to bower from client-side
- Uses bower for dependencies

**Todo**

- [x] Update README with build instructions
- [ ] Decide where we are going to push bower repositories to (it's a lot of pollution for angular-ui org, but may not matter)
- [x] Add general bump+release task (use gulp plugin)
- [x] Add cdnjs to automated release task (ask Pawel how it works)
- [x] Finish removing `misc` folder and add a `test` folder
- [x] Add saucelabs (use karma plugin)

**Temporary things to remove before merge**

- [ ] release-pre and release-post tasks do not actually push; right now it is local only for testing. perhaps add --local flag which will do this, and then the default is pushing
- [ ] release-pre task uses gulpfile branch, not master
- [ ] cdnjs task opens a pull request on ajoslin's fork of cdnjs, not origin
- [ ] bower task pushes to http://github.com/ui-bootstrap-bower-test

**Usage**

- node_modules has changed, so do `rm -rf node_modules && bower install && npm install`
- `gulp` to jshint and build and test and docs
- `gulp build` to jshint & build
- `gulp jshint` for just jshint
- `gulp docs` to build docs
- `gulp test` for one-time test
- `gulp watch` for watch and re-run tests on change
- `gulp bower` to push current version of all modules to bower
- `gulp cdnjs` to open pr for current version to cdnjs
- `gulp release-pre` to remove -snapshot from version, commit, tag, changelog, and push to gh-pages & master
- `gulp release-post --bump=major|minor|patch` to bump version, add snapshot, and commit/push
- `gulp release --bump=major|minor|patch` to `release-pre, bower, cdnjs, release-post`
I saw that you did a [PR](https://github.com/marklagendijk/gulp-ng-html2js/pull/6) to add the `options.declareModule` and avoid all those 'try catch' but there is still too much code generates for each template.

There is also other module called [gulp-angular-templatecache](https://www.npmjs.org/package/gulp-angular-templatecache) that puts all your templates in this format:
```
angular.module("mymodule").run(["$templateCache", function($templateCache) {
  $templateCache.put("template1.tpl.html","<div>1</div>");
  $templateCache.put("template2.tpl.html","<div>2</div>");
  $templateCache.put("template2.tpl.html","<div>3</div>");
}]);
```