Disables recursion in phoenix.start to fix #462.

As per discussion of issue #462, phoenix.start now
* is nonrecursive
* takes a list of routers to start as an argument
* will only attempt to guess a router in non-umbrella project
* will defer to a default list of routers provided in the mixfile
Tidied up based on review suggestions
increase overview with an index

* add contribution section
Merge pull request #522 from tonini/refine-readme

increase overview of readme
Ensure CodeReloader is removed when disabled
Bump version and changelog
Update CHANGELOG.md
Improve ranch errors for websockets
Merge pull request #530 from fishcakez/jf-new-errors

Improve ranch errors for websockets
Update start task to be endpoint compatible
Do not make phoenix.routes recursive too