AH (Ad Hoc) waveform format read support

AH v1 should be fine.
AH v2 tests need some real examples + ASCII equivalents to finish this PR - unfortunatly I couldn't find anything useable :/

Anyone got some AH v2 files? @jsaul, @jwassermann?
unfortunately not - xdrlib's ```unpack_string``` takes care about that - this works in AHv1 like a charm

those undocumented ints seems to be duplicates of the length integer of the following string, here are the only example files I got which suposse to contain the same data in different AH versions:

ah1.f
![ah1](https://cloud.githubusercontent.com/assets/602450/3756069/f66facd8-182a-11e4-866b-57921aa87792.png)

ah1 works with fixed strings therefore it reads (keep in mind XDR reads field in a multiple of 4):
```
4 bytes = int (6) == length of following string
8 chars == string ('RSCP\0\0')
4 bytes = int (6) == length of following string
8 chars == string ('IPZ\0\0\0')
4 bytes = int (8) == length of following string
8 chars == string ('null\0\0\0\0')
```

ah2.f
![ah2](https://cloud.githubusercontent.com/assets/602450/3756082/1c5dcba0-182b-11e4-8cb8-1f06cf7fe8ab.png)

ah2 works with dynamic strings therefore it reads (keep in mind XDR reads field in a multiple of 4):
```
4 bytes = int(1100) == magic number for AH2
4 bytes = int(3372) == length of the following record
4 bytes -> unknown / not documented
4 bytes = int (4) == length of following string
4 chars == string ('RSCP')
4 bytes -> unknown / not documented
4 bytes = int (3) == length of following string
4 chars == string ('IPZ')
4 bytes -> unknown / not documented
4 bytes = int (4) == length of following string
4 chars == string ('null')
```
those ints are not always combined with XDR strings - so no clue - but if I add those ```data.unpack_int() # and again?``` lines I get at least the same result as with AH v1 - hence the quest for actuall real live example files!