Now using absolute path for bitstream file name.
* Added classes for Spartan2 and Spartan3 FPGAs.
* Check configuration argument to see if it's a bitstream. If not, assume it's a file name and try to open it and convert it into a bitstream.
* Removed assertions and now raise exceptions instead.
* Check programming argument to see if it's a hex object. If not, assume it's a file name and try to read a hex object from that.
* Added XsTerminate exception for when a process is canceled.
* Call initialization for Exception subclass when XsError is initialized.
* Added a flag to terminate reading/writing data from/to a USB port for when this function is used in a separate thread.
* Added a hash function to keep track of the USB ports with XESS boards attached to them.
* Changed class name from Xula to XsBoard since it will eventually support the older XSA boards.
Use 'isinstance' instead of 'type' to check for object types.
Added commands and subroutines to read voltages from the XuLA analog I/O pins.
Removed little XESS board dictionary and packed the info directly into the board classes.
Changes to command-line tools to reflect changes in underlying classes.