Breakup Bundle classes

Best way to ensure different Bundle classes can be used is to dogfood it ourselves. Defines separate css and js bundle classes since they have different concatenation code paths anyway. 

Fixes #617.

/cc @nevir 
Think it would be useful for people to disable the semicolon insertion? So replace the current bundler with `JavascriptBundle.new(:append_trailing_semicolon => false)`