Add quick tests for domain name and TXT rr
Update domain name and TXT string escape behaviour

Changes to domain name packing and unpacking:
* Escape dot, backslash, brackets, double-quote, semi-colon and space
* Tab, line feed and carriage return become \t, \n and \r

Changes to TXT string packing and unpacking:
* Escape backslash and double-quote
* Tab, line feed and carriage return become \t, \n and \r
* Other unprintables to \DDD

Stringers do the equivalent of putting domain names and TXT strings
to the wire and back.

There is some duplication of logic. I found performance suffered when
I broke the logic out into smaller functions. I think this may have
been due to functions not being inlined for various reasons.
Fix bounds check in nextByte
Fix bounds overflow in sprintTxt

Passing excessively long strings (>256*4+3) to sprintTxt would result in
overflowing src. Fix isn't as efficient but simplifies the code.
Convention is Txt not TXT in msg.go function names
Escape @ when printing/unpacking domain names
Update TSIG doc header to avoid godoc oddity

For some reason godoc treats it as plain text because it contains
"(TSIG)".
Bump up MaxCountScale in TestTXTRRQuick

Increases number of test iterations which should cover more corner-cases.
Test byte escaping in Domain Names and TXT strings

TestTXTRRQuick may not always cover these bytes so explicitly test that
they're covered.
Document domain name and TXT escaping behaviour
Merge pull request #85 from andrewtj/atj-encoding

Parsing and Stringer Changes