Refactor HTML into a more semantic structure and rework styles to be much less specific

@jeffkamo @tedtate @scalvert @jansepar 
***
#### Things I did:

1. I rewrote the HTML to be much more semantic. What do accordions have to do with lists you say? I agree. Now they are divs. This saves us much style overriding.
1. I've also changed the class naming structure to something more sane. Approaches a BEM style. Should make overriding styles in the future much simpler.
1. Switched to using autoprefixer to make our styles easier to manage. Builds in the same way.

#### Tested working on:
* Chrome Latest,
* Firefox Latest,
* iOS 4.2.1+,
* Android 2.3+

This doesn't work in IE8 but neither does master.
***
 Thinking this needs a minor version bump because it's so different.