Ability to handle assertion definitions.

Assertion definitions are methods that can be called directly on a page
or activity definition. These methods assert some aspect of the page or
activity. Once the asserted aspect is verified, the asserted aspect is
stored as a variable on the definition class.

It is important to understand that the asserted state is defined on the
page or activity definition class, while any use of that state is
handled on an instance of the page or activity definition.
Ability to reference assertion aspects.

Allow an instance of a page or activity definition to call methods
that reference some aspect that was specified by the assertion
definitions.

This commit mainly makes sure that the included and extended
elements of Symbiont can communicate via definition instances.
Ability to use a driver library.

Allow a web driver library to be used as a platform for the execution
of various actions taken with a page or activity definition. Currently
the driver expected is that of watir-webdriver and the definition
actions rely on specifics of that library in order to perform tasks.
Ability to use different drivers.

Allow for the use of a platform that holds a reference to the driver library
that was passed in. This allows execution to be conditionalized based on the
driver, while using a consistent command interface.
Ability to handle element definitions.

Allow a page definition to assert an element definition. The element
definition represents an actual web object on a given page. The
friendly names given to these definitions serve as identifiers that
are proxied to the browser driver. This allows the methods of the
browser driver to be called directly on the element definition.
Removal of multi-platform approach.

Symbiont will only support one driver library, which will be the
Watir-WebDriver library. Multi-platform support simply did not make
much sense given that Watir-WebDriver is a wrapper around Selenium.
This means it will be possible to drop down to Selenium if and when
necessary. Further, abstracting away the specific drivers in order
to provide a common interface seemed to take away from using the
specific strengths of particular a given driver all in the name of
providing a common interface. The maintenance headaches and code
bloat of supporting multiple platforms mitigated against the approach.
Watir container module used to generate element methods.

Since Symbiont is focusing on Watir-WebDriver as its sole driver library,
this allows for calling Watir directly to determine what web elements it
supports. That list of elements is then used as the basis for defining a
series of methods that correspond to those element names. Those methods
can then be used to construct element definitions on page classes.
Definitions can be used via factories.

A factory mechanism is in place that allows page definitions to be
instantiated via a fluent interface. The interface combines contextual
calls to the page definition along with either a direct method call or
a block that provides an operating context for actions.
Build mechanics added.

Added hooks for code coverage and build status via a continuous
integration system.
Project status icons on the readme.
Update to fix CI issue with Ruby versions.
Fix for build status to show coverage.
Release of version 0.3.0
Merge branch 'release/0.3.0'