Update bidi for cljx support

* Move all Ring related functionality to the bidi.ring namespace
* Use cemerick.url encoding/decoding over java.net.Uri
* Drop dependency on `ring.util.codec` and add FormEncodeable protocol
  using cemerick/url for cljs support (used for path-with-query-for)
* Extend protocols for Clojurescript types
* Add clojurescript.test and make bidi_test cljx

Tests pass for clj and fail for cljs on regex-related stuff.
All tests pass
Use .source property of js/RegExp instead of ugly hack
Use type ^string for path in match-pattern method for cljs
Update formatting of multi-line ex-info messages
Merge branch 'master' of https://github.com/juxt/bidi

Conflicts:
	src/bidi/bidi.cljx
Fix logic for long matches
Merge pull request #32 from kibu-australia/master

Cljx support