First version of DNS
Added more to DNS, in particular Idris-based structures
Fix "either" on latest version of Idris
More work on DNS

- Added bounded_bits syntax to PacketLang for more control over bit
  lengths for when we have a proof of non-zero-ness
- More work on PacketLang descriptions and data declarations
Rewrote a lot of DNS stuff

Turns out reading the RFC more carefully and understanding it is a Good
Thing To Do...

Fleshed out DNSParser with a lot of stuff, rewrote the DNS language to
correspond to the RFC.

Bit more implementation to do, then let the debugging commence...
More work on DNS.

Temp commit, doesn't compile, need to do some work at home
Bits and bobs on DNSParser

Although for some reason, typechecking isn't terminating
A couple of nasty hacks later, it typechecks!

Just need to do some work on records now, then testing the decoding...
DNS Record data structures

GADT loveliness. Mainly been working on unmarshalling RR payloads.
Allow code to compile on newest version of Idris
Relations between codes and data structures

Although not quite sure how this is going to work on the value level
just yet...
I really need to learn how to add files...
Removed need for lemma_vect_len
More work on DNS

In particular, commenting out a lot of the ADT constructors to keep
compilation time manageable, and did some work on record decoding.

Added a TODO to remind me what I have to do next.
DNS decoding appears to typecheck...

Now to test. Boy have I been dreading this.
UDP! \o/

Added UDP clients and servers. They work, and all!
SO MUCH WORK

DNS typechecks now (\o/!) And in the process of getting it going. Fixed
an error with the DNS packet structure.
Fixed some bitrot. Added some nasty hacks (for now) for getting the buffer
pointer after it's been used to unmarshal -- this MUST be freed after
we've finished with it (TODO!).

Currently a nasty bug with list unmarshalling that's messing things up.
Fun stuff to do tomorrow!
Some fixes to DNS parsing code, add test programs.

DNS packets actually unmarshal successfully now -- but still have to
work on the actual *parsing* into data structures.
DNS Packet parsing is go!
Merge pull request #2 from SimonJF/dns

Merge DNS branch.