refactor redraw
fix docs
publish 0.1.19
externs for closure compiler
fix console.log calling for non-firebug environments
fix console.log higher-order calls in docs
adds saucelabs integration to unit tests
adds saucelabs integration to unit tests
fixes non-browser-based tests
Merge branch 'saucelabs-test-fix' into saucelabs-tests

Conflicts:
	Gruntfile.js
	package.json
	tests/mithril-tests.js
	tests/test.js
Merge pull request #177 from mambocab/saucelabs-tests

adds saucelabs integration to unit tests
fix array type checks
Merge branch 'master' into next

Conflicts:
	tests/mithril-tests.js
rethrow errors from other contexts
Add a main script in package.json.
Merge pull request #182 from pygy/master

Add a main script in package.json.
Merge remote-tracking branch 'origin/master'
Merge branch 'master' into next
Protection from external 'undefined'
Don't insert blank text node into every tag (yet another IE8 issue)

Actually Mithril calls build() with data undefined for m("tag",{...}) [calls without third argument].
The changing undefined to "" causes build() insert a TextNode into current tag (on line 169).
But in IE8 it isn't allowed to insert a TextNode into any tag.
For example, m("input",{...}) fails here.

With this simple patch undefined is not chaged to "" anymore.
(And no empty TextNode's added to every mentioned tag.)