CategorySelect: re-organize the extension directory in preperation of making CategorySelect into a controller.
CategorySelect: continued re-organization.

Split hooks into CategorySelectHooksHelper class, split html into templates, created CategorySelectController to handle requests.
CategorySelect: register all required classes. Fix parse error in the Hooks helper.
CategorySelect: fix typo in conditional.
CategorySelect: add missing hook onGetPreferences. Alphabetize hook names.
CategorySelect: fix url to the stylesheet file.
CategorySelect: clean up EditPageLayout module and start on refactoring.
CategorySelect: begin JavaScript and Stylesheet refactoring.
CategorySelect: change 'category' key to 'name'; some minor cleanup.
CategorySelect: update edit page metadata template to add data type.
CategorySelect: implement addCategory for edit page visual editor mode, also set up skeleton for the other functions.
CategorySelect: update Categories module to work with new code.
Always use JSON as the data structure.

Remove the 'source mode' requirements of maintaining a wikitext data structure. Use the same UI and underlying data structures for both visual and source modes (BugId:48693)."
Add the ability to add categories on edit pages.

Added JavaScript logic for adding categories. Made the behavior of accessing categories more consistent. Moved the normalizing category function into the CategorySelect class.
Rename getData -> extractCategoriesFromWikitext.

Also create getExtractedCategoryData as a getter instead of trying to use getData as a multipurposed function (it's more explicit this way).
Remove underscores from Sass files. Remove YUI-suggest styles.
Make epl inputs mixin self-sustaining.
Make CategorySelect less ugly.
Make jquery.ui.autocomplete file self-sustainable.
Add width for suggest dropdown