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.
 Added correction to margin for better display of .styleguide-example
Corrected typo in block.inc.php that prevented the description from displaying correctly. Added getMarkupNormal to section to replace the $modifierClass variable. Added support for descriptions that contain ' - ' so the description is not prematurely truncated.
Corrected 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).
Added replacement parameter to Section::getMarkupNormal() and updated block
example to include {class} replacement for modifierClass. Added unit tests for
getMarkupNormal().
Added missing echo statement in block.inc.php