Add API for getting/setting extra field data.

Doesn't parse the fields yet, just provides them to the library user.

Open points:
* cdir extra field entries are not changed
* heuristics for finding cdir should be adapted

Based on patch provided by Jono Spiro <jono.spiro@gmail.com> (with
minimal changes).

--HG--
branch : HEAD
16 files changed