Adds files with contributing guidelines

Adds a CONTRIBUTING.md file to show guidelines for contributors. Made
mention that code must follow the PSR guidelines and that test cases
must be added for new methods or bug fixes. Requests git commit messages
to follow the subject line and body style.

Adds an .editorconfig with whitespace defaults for IDE's that support
them.
Updates to BEM Naming Conventions

Changes the class names found in styleguide.css to use BEM naming
conventions as outlined at
http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax.

Updates block.inc.php to use new class names.

Modifies whitespace in layout.css to comply with the other files in
the project.

Updates buttons.css to follow BEM naming conventions.
Adds reference ids to styleguide block

A styleguide block is now given an id of r . $section->getReference().
For example, styleguide block with a reference of 1.2.2 would have an
id of r1.2.2 (id's cannot start with a number).

This allows direct linking to a specific reference in the styleguide.
Update README.md to use BEM in example

Updates the README.md to use BEM in the example to keep the project
consistent with the rest of the styleguides.
Add missing styles to README.md

README.md refers to :hover and .stars--given:hover bu these modifiers
were not shown in the actual example css. Adds rules for these
modifiers.
Fixes output of description and extender modifiers

block.inc.php was incorrectly calling $modifier->getDescription()
resulting in no descriptions being shown for modifiers. Fixes call
to getDescription.

The extender modifier classes were being checked to see if they needed
to be added in two if statements but the classes were not being correctly
echoed. Fixes it so the classes are now probably echoed.
Removes reference to ruby gems in README

README.md contained a reference to installing the ruby gem in the
PHP Library section. Replaces gem reference with a composer reference.
Fixes description output and overzealous @extend replacement

Corrects typo in block.inc.php that prevented the description from
displaying correctly. Adds support for descriptions that contain
' - ' so the description is not prematurely truncated.

Adds getMarkupNormal to section to replace the $modifierClass variable
with a replacement variable that defaults to an empty string. Updates
block example to include {class} replacement for $modifierClass.

Corrects situation where @extend class names could replace more than
just the class names. Handles situation where a class name matches an
element name in the markup (e.g. .button).

Adds correction to margin for better display of .styleguide

Adds unit tests for new methods.