Problem: interface iterator isn't simple

do/while is clumsy for an iterator; it's better to set-up the
condition with a first and then loop while (condition), doing
the next at the end of the loop.

Solution: rewrote iterator loop.
Problem: zring_pop/remove don't return item

Fixed this and also cleaned up node creation to be more consistent.
Also, head is now pointer not item, so the code is cleaner and less
surprising.
Problem: 'zinterface' is a dangerous class name

Under MSVC, which compiles the code as C++, 'interface' is a reserved
word and this creates regular portability breaks in CZMQ, or forces
us to use variable names that don't match the class name.

Solution: rename the class to 'ziface'.
Renamed zlist_curr to zlist_item
Problem: interface class was asking for some fixes

- return name, not bool, on first/next
- simpler internals, without item structure
- removed bits and pieces of unnecessary code :-)
- somewhat shorter and simpler IMO
Problem: ziface is a lousy name

Solution: use ziflist, which is fairly clear to anyone used to network
admin tools like ifconfig. Also the name makes it clear what methods
like ziflist_first and ziflist_next do.
Restore selftests

czmq_selftest was mostly silenced to speed up ziflist testing.
Fixed temporary hack in ziflist_reload

Was disabling HAVE_GETIFADDRS to test ioctl code path. This commit
re-enables the HAVE_GETIFADDRS code path.
Fixed memory leak on self->head
Problem: ziflist_reload not freeing old values

Caused memory leakage. Added selftest case for this.

Solution: free old values, if any, before doing reload.
Minor documentation fix
Problem: various packaging issues

- included files renamed to .inc to match CLASS specs
- added 'extra' element to project.xml to cover such files
- fixed MSVC, CMake, MinGW, Android, and autoconf generators
- fixed various generators for private header files (zgossip_msg)
- removed hardcoded 'czmq' in various generators
- removed hardcoded headers in various generators (use 'headers' element)
- updated builds/msvc list in Makefile.am
- checked that czmq tar file packages and builds correctly
Problem: zflist asserts on line 136

Solution: fix order of tests (was broken in last round of patches).
Generating README automatically from sources
Problem: README is out of date

Fixed this by generating .doc file for each class, which simplifies
the editing in README.txt and makes it easier to keep up to date.

I also split out the V2 and V3 APIs to make it clear where CZMQ is
going.
Merge pull request #630 from hintjens/master

Problem: interface iterator isn't simple
Differentiate between OSX and iOS

__APPLE__ is defined for both iOS and OSX.  When compiling for iOS this leads to including crt_externs.h which is not available on iOS.
Merge pull request #631 from aschepis/master

Differentiate between OSX and iOS
Added explanation on actors to README
Merge pull request #632 from hintjens/master

Added explanation on actors to README