adds 'noPrefixes' build option to opt-out vendor prefixe
Add querySelector test, addresses #1194
Added requirement for querySelectorAll, docs
Add polyfill
Merge pull request #1195 from triblondon/queryselector

Add querySelector test, addresses #1194
Merge pull request #1193 from ddprrt/master

adds "noPrefixes" option, to opt-out vendor prefix check, fixes #1082
Remove unused files

The following files are unreferenced and unused:

- lib/generate-init.js
  Looks like the last reference to this file was removed in 2012 in
  ff031ef330962e0639776b852db8809ea81907c8

- lib/app.build.js and optomist library
  The only references to them are the initial commit
  541af0bd473ffe154557b5f978ad25c2b1c4c38
  this moving of the file:
  16ad49aa670fa1207f873beb0069c5575be77485
  and this cleanup that says "I don't know what this file is for":
  2906bc78cf765e7b91fc00dc5de109265aa50d09

- lib/processbuild.js
  There are no references to processbuild.js in the current codebase. The last
  references to it are moving the file in Feb 2013:
  16ad49aa670fa1207f873beb0069c5575be77485
  and linting the file:
  ab90b7b2757dfeabe31473d18f92ce707dc88555
Refactor build system

OK, this is a huge commit. I have it broken down into smaller commits if that
would fit with the VC strategy better.

NOTE: This revises the API and breaks testing with the Gruntfile right now. Will
fix and squash commits, but want to get feedback first.

- The node module no longer writes directly to the file system, but instead
  exposes an output string in a callback. The new CLI outputs a file.
- Moves Grunt to a dev dependency and builds a custom Modernizr file
  in memory, without writing interstital steps to disk. This is safer, lighter,
  and gets rid of Grunt inception.
- All build system code is in lib/, and used node.js/common.js style module
  loading.
- All Modernizr code is in feature-detects/ and src/, and uses require.js style
  module loading.
- All files used only by tests are moved to test/
- Impliment a real CLI using npm's bin param.
- Adds consistant code comments.
- Revises and adds new docs to readme.md:
  - Adds usage docs
  - Removes cruft docs for other repositories
  - Adds contributing docs, moves test section inside of it

- Minor optimizations:
  - Switch build system to native V8 functions where possible
  - Improve r.js settings
  - Name exported functions to givenicer stack traces in case of error
  - Normalize code syntax and spacing
  - Renames files for maximum pattern following
  - Cleans up .gitignore
  - Fixes .editorconfig for markdown
  - Removes `test/` from conig-all.json. Doesn't have meaning for users /
    consumers anyways since it's a pretend directory we fake with r.js.
Revise the gruntfile to work with new build system

- No tasks use grunt watch, no docs mention it, so remove it
- Remove unneeded clean targets
- Remove unused meta config object
- Make jshint test test/api
- Refine jshint to work with tests and lib, remove uneeded config
  - curly: all of Modernizr's code uses {}, not needed
  - evil: No eval statements in Modernizr's source, not needed
  - laxcomma: Only existed in unit-caniuse.js, so fixed there and removed.
  - newcap: No class based issues in Modernizr, not needed.
  - smarttabs: Editorconfig enforces indent_style = space, so this rule is
    contrary to our other code normalization tool. Removed.
- Remove jshint node: true comments in lib and test because we're defining that
  in the gruntfile. NOTE: there are still a few files with jshint error
  suppression comments in them.
Improve test coverage for new build system
Get modernizr.generate() working again, add to CLI

Using quiet flag instead of verbose, since most people want the default CLI
to be verbaose.

Little cleanup while I was at it too.
Switch build method signature to have optional options and required callback, fix tests