update test
Merge branch 'master' into dns
I am testing on DNSParser.
In the process, I found a nontrivial problem. Currently, Parsley only supports syntax like:
	rule 'A' :arg1 = blablah
where 'A' stands for a single letter. This means, the payload rule(payload 'CNAME' :arg) is not supported in Parsley.

I will consult tom and dash to find I should now switch to add that parsley syntax or not.
Worked on yesterday Tom's advice:

1. a separated .parsley file and use load Grammar
2. delete the stuff that isn't changed. That isn't changed
3. twisted.names.authority.PySourceAuthority.setupConfigNamespace  to avoid getPayload and getType
4. change class methods to free functions
5. modify the bindings
update integration --half done
Integrated DNSParser by composition. Done
porting LineOnlyReceiver, Test Fails
LineOnlyReciever Almost Done.

I met several problems.
1. The initilizaiton of the LineOnlyReceiver is done in connectionMade, so current exisiting subclasses should be aware of it.
2. Under the implementation of omtea.protocol.ParserProtocol, it's hard to return a error from the receiver. test_basic.testLineTooLong is an example.
Modifies grammar bug in line_only_receiver.parsley
update intnstring_receiver
I originally thought that by moving the initialization code inside
connectionMade to dataReceived will solve the problem. However, while
testing the code, I found, say, after a Int32StringReceiver protocol is
constructed, it may directly call the sendString method. But at that
time, dataReceived is not invoked, so the protocol itself hasn't been
properly initialized.
That's is quite a dilemma. So we should abandon something?
We cannot guarantee which of the receive/send method is invoked first,
we also cannot put it into connectionMade as subclass might overwrite
this.
Basically passed all the tests, met some new problems.

1. {name} cannot refer to globals. E.G., in order to get MAX_LENGTH, we
have to do ?(->MAX_LENGTH):MAX_LENGTH anything{MAX_LENGTH}. it's really
inconvenient

2. Whenever we met a exception, we should stop parsing the whole thing
right? say, if we meet a lineLengthExceeded, should we lose the
connection directly?
Made an independent copy of ParserProtocol
use .skip to skip tests
Modify to TramplinedParser
Update TramplinedParser's API per Tom's instruction
add documentation and test for TramplinedParser
parseproto.amp basic structure
update amp