Make a rule on blocks and not only on lines

* There is now a ```matchblock``` function available in each rule.
* In the ```matchblock```, you have access to the filepath
  and the type of the file (playbooks, tasks, handlers, meta, ...).
* An example is provided to check that all tasks and handlers have a tag.
The line match function now takes the file data in argument too
Add a function to get the rolename from a filepath
Added missing whitespace back to README.md
typo in README.md
typos in CONTRIBUTING.md
Merge pull request #7 from BenFradet/master

typo in README.md and CONTRIBUTING.md
Add setup.py (and .gitignore)
Default rules directory to in lib/ansible
README.md: A few formatting tweaks
Merge pull request #10 from msabramo/add_setup.py

Add setup.py
Merge pull request #13 from msabramo/README_tweaks

README.md: A few formatting tweaks
Add examples/lots_of_warnings.yml

This playbook causes ansible-lint to output tons of warnings;
enough to exceed typical stdout buffering size and thus to show the need
for catching IOError (EPIEP) errors.
Don't print traceback on EPIPE

Without this, you will get a traceback if you pipe to `head` for
example:

```
$ ansible-lint ~/dev/surveymonkey/smstack/vagrant.yml | head
...
Traceback (most recent call last):
  File "/Users/marca/dev/git-repos/ansible-lint/py27.venv/bin/ansible-lint", line 10, in <module>
    execfile(__file__)
  File "/Users/marca/dev/git-repos/ansible-lint/bin/ansible-lint", line 78, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/Users/marca/dev/git-repos/ansible-lint/bin/ansible-lint", line 73, in main
    print formatter.format(match)
IOError: [Errno 32] Broken pipe
```
Update of setup instructions

Incorporates @msabramo's suggestions from #14 but also
maintains installation from source instructions
Long overdue fixes to tests

Adjustment to test cases to reflect updates to API
Fixes #8 and #15.
Merge pull request #11 from msabramo/no_traceback_on_EPIPE

Don't print traceback on EPIPE
Merge branch 'no_traceback_on_EPIPE' of https://github.com/msabramo/ansible-lint
Set exit status correctly

To better allow testing of this, I took the matching logic
out of the ansible-lint script and into the library.

Added test cases, ran test cases and examples, all seems to work
Allow ansible-lint to accept multiple rules directories

Also some minor PEP8 fixes while in the area.