PyRIC CHANGES

v 0.0.2 to 0.1.0
   o added ifconfig/iwconfig functions to pyw
   o reworked exception handling
    - all exceptions from libnl, libio & pyw are pyric.error
    - pyw will allow pyric to pass through
    - reworked errorcodes to derive from errno
   o added _iostub_, _nlstub_ and reworked traditiona commands to utilize these
   o finished porting nl80211_h and nl80211_c (for attribute policies)
   o pyw no longer provides familyid as a public function, rather it now uses a
     private global value for the nl80211 family id and will instantiate it one
     time only. In this way, callers do not not have to worry about retrieving and
     passing it
   o regdom get & set implemented
   o info implemented
   o removed radio/Radio class (shouldn't be the responsibility of this)
   o added channels.py (provides channel/freq functions)
   o added RFI page for notes/observations/questions
   o changed utils.py to device.py
   o updated libnl
   o added channel set & get
    - channel get only works when device is associated
    - channel set only works when card is in monitor mode and all other interfaces
     have been deleted
   o added device add & delete
   o rewrote pyw function to handle one-time & persistent functions using a
    single function interface for each command
   o added Card class and wrote functions to handle it in pyw
   o implemented basic help functionality (for nl80211)
   o added monitor flag(s) support in devadd
   o began work on a user guide
   o added nested attribute handling
   o added partial phyinfo handles all but supported channels/bands
   o fixed bugs in devinfo and phyinfo
   o added setup.py and required files
   o at least one card (ath9k_htc) has an unknown supported command, added a
    wrapper around the list IFTYPES to handle commands not listed
   o libnl: attribute related i.e. nla_* moved out of GENLMsg class and made as
     standalone functions
   o in pyw
    - added modeset/modeget in pyw
    - readded freqset in pyw
    - added devcmds in pyw
    - annotated (in comments) if fcts needed root privileges
    - added functions to get/set ip address, netmask and broadcast
    - fixed PEP8 errors
    - added function pulling supported freqs out NL80211_ATTR_WIPHY_BANDS
     * ATT using _getfreqs_ which attempts to find the packed version of every
      freq
     * nl80211_c.nl80211_parse_freqs works but is slower than _getfreqs_ and
      uses several hacks which may make it invalid for certain cards
    - added 4.9GHz frequencies to channels.py
    - fixed _validmac_ to validate both uppercase & lowercase hex characters
    - added devfreqs, devchs
   o unittest completed 61 tests ran in 5.360s
   o added rfkill (still working on it)
   o production release

v 0.1.1 - 0.1.2
  desc: wireless nic library: wireless radio identification, manipulation, enumeration
  includes:  /nlhelp /lib /net /utils pyw 0.1.2
  changes:
   o restructured hierarchy
    - renamed device to hardware
   o added mac address related functions to hardware
   o split rfkill into functions file and definition file
   o added block/unblock to pyw
   o updated pyw to handle the newest version of libnl.py's processing of nested
     attributes

v 0.1.3
   o added this File, a revision history
   o fixed issues
     - # 13: Failed to process commands.help
     - # 14: nlmsg_fromstream can incorrectly return error based on stream size
     - # 11: MemoryError on nla_parse_nested()
   o added nla_put_flag to libnl
   o identified (unopened issue) and fixed error with ouifetch having invalid path
     of default oui file
   o moved parseoui from hardware to ouifetch renaming to parse
   o removed ouifetch execution ability - parse and fetch must be called w/in
    python console. Will eventually add this capability as as top-level program
   o added ieee80211_h.py to net/wireless
   o added supported ciphers to pyw.phyinfo dict
   o added functions
    - pwrsaveset and pwrsaveget
    - covclassset
    - retryshortset
    - retrylongset
    - rtsthreshset
    - fragthreshset