Adds HtmlCSSSelector and XmlCSSSelector classes, cssselect as optional dependency.

Ported .get() from _Element and .text_content() from HTMLMixin

Add CSS selectors to scrapy shell

Documenting CSS Selectors: Constructing selectors

Documenting CSS Selectors: Using Selectors

Make CSS Selectors a default feature.

Adds XPath powers to CSS Selectors and some syntactic sugar.

Removes methods copied over from lxml.html.HtmlMixin.

Updating docs to use new CSS Selector super powers.

Documenting CSS Selectors: Regular Expressions

Moving section after Nesting section, since it mentions it.

Documenting CSS Selectors: Nesting Selectors

Fix XPath specificity in lxml.selector.CSSSelectorMixin.text

Cleaning up unused stuff from cssel.py

Changing the behavior of lxml.selector.CSSSelectorMixin.text.

Concatenating all of the descendant text nodes is more useful
than returning it in pieces (there's xpath() if you need that).

Documenting CSS Selectors: CSS Selector objects

Documenting CSS Selectors: CSSSelectorList objects

Documenting CSS Selectors: HtmlCSSSelector objects

Documenting CSS Selectors: XmlCSSSelector objects

Fixing some documentations typos and errors

Enforcing the 80-char width lines

Tidying up CSS selectors and CSSSelectorMixin objects

Adding some missing references in documentation.

Fixing lxml.selector.CSSSelectorList.text
rename XPathSelectorList as SelectorList #176
extend css selectors with ":text" and :attribute(<name>) #176
Adapt to latest cssselect API supporting pseudo-elements
Support only ::text and ::attr(name) + add more CSS selector tests
Update selectors docs
Drop libxml2 selectors backend
working implementaion of unified api
Remove CSS*Selector classes and port its tests
port scrapy shell to unified selector api
default xpath selector was html
port tests to new Selector class
remove internal references to old selector classes and api
Updates docs to reflect unified selectors api
remove more references to libxml2
update release notes
fix typos and wording on selector's introduction
use `sel` name for Selector's instances in docs, internals and shell
Replace `contenttype` references by `type`

The type to choose from is the selector type, not the input type. A
content-type doesn't make sense in this context.
Merge pull request #426 from scrapy/selectors-unified

[MRG] Selectors unified API