BIP 21: Add a missing "&" rule to the ABNF grammar

The URI syntax uses an ampersand to separate query parameters,
but the ABNF grammar didn't reflect this fact.

Also, the type of grammar used here is "ABNF" and not "BNF".
BIP 21: Mention RFC 3986 and character set
BIP 21: Precisely define the valid query characters
BIP 72: Reduce the amount of escaping needed

RFC 3986 obsoletes RFC 1738, which this BIP was wrongly referencing.
The new RFC requires far less escaping for query parameters.
BIP 21: Clarify case-sensitivity

The "bitcoin:" URI scheme needs to be case-insensitive according to the RFC,
but the query parameters should be case-sensitive according to the bitcoin-qt
client implementation.
BIP 21: Allow empty addresses and query parameters

Empty addresses should be valid for compatibility with  BIP 72.

Empty query parameters should also be valid, since they are harmless,
and clients already accept them.

With these changes, bitcoin:?& would be a valid (but useless) URI.
Merge pull request #30 from swansontec/master

Fix BIP 21 and BIP 72 ambiguities & mistakes