Fixed UI support for Actions

To request argument values for a function via de UI, the callable
is introspected for argument names, default values and docstring.
In decorated functions, the __wrapped__ argument contains a reference
to the actual function.

Actions are called by returning Action.call curryied with the driver
instance when Action.__get__ is called.
This patch adds a __wrapped__ attribute to the returned partial function
pointing to the function wrapped by Action (Note that this is Action.func,
and not Action.cal, the curried function!)

This might be much easier once that PEP-362 (function signature object)
is implemented.
Extract serial.Serial keyword arguments in SerialDriver constructor

This patch allows calling SerialDriver derived classes with
keyword arguments not in serial.Serial constructor.

When using arbitrary
Proper handling of no timeout (wait forever) in Textual Mixin
Implements Serial function generator simulator and updated docs

Like the TCP driver/simulator pair, the serial implementation is
useful for testing and demonstration purposes. A crossed RS232
cable is required.

- In lantz.drivers.examples, LantzSignalGenerator is now a base class.
  LantzSignalGeneratorTCP implements the TCP driver and
  LantzSignalGeneratorSerial implements the SerialDriver.

- Renamed sim_fungen.py to sim-fungen.py for consistency with other
  scripts.

- A new mandatory argument is added to fungen.py and sim-fungen.py.
  to indicate which implementation (tcp or serial) should be used.

- Updated documentation reflect these changes.
Fix use of constructor arguments in SerialDriver
Implements proper support for SerialVisaDriver

- MessageVisaDriver.initialize sets attribute states after opening resource
- Constructor store attributes for initialization (baudrate, stopbits, etc)
- SerialVisaDriver.read support CHUNK = -1 (pending in buffer)
- Constants keys to lowercases like in lantz.serial
- visalib.set_attribute and visalib.get_attribute, support using attributes
  names
Implements Visa Serial Function Generator Driver

- Adds a new command line option ('serial-visa') to examples/fungen.py
  with a parameter r for resource name (e.g. ASRL1::INSTR)
Better handling of RECV_TERMINATION

- If RECV_CHUNK > 1, it is possible that a message with
  more than one RECV_TERMINATION is received. This is now
  properly interpreted as more than one message.
  TextualMixin.recv will split the message at RECV_TERMINATION,
  return the first part and store the next until is requested.
- SerialVisaDriver now delegates to the visa library checking
  for end of message when RECV_CHUNK > 1 and RECV_TERMINATION is
  not empty.
  This behaviour is not possible with pySerial.
Changed to a more efficient logging scheme

Until this patch, message formatting in logging was peformed
for every message, independently if it was going to be shown
or not. Now message format and arguments are passed to the
logger which will build only those messages that are going to
be displayed.

To fully support PEP3101 messages and as the python logging
module uses % string interpolation internally lantz.log.get_logger
function analogous to logging.getLogger is provided that will
patch the returned logger with a PEP3101 compatible.

Due to an bug in Python 3.2, this patch requires Python 3.2.1
Fixed parse_query parsing in TextualMixin
Better handling of units and limits in widgets

- A QDoubleSpinBox is returned if the feat units is not None.
  This allows to distinguish between @Feat() and @Feat(units='')
  From the former, a textual feat is inferred, from the latter a
  numeric one.
- Splitted limits and units handling in MagnitudeMixin.
  This allows to use limits with dimensionless Feat
- Limits defaults to -inf, +inf
- Fix setValue for dimensionless Feat
Changed RECV_TERMINATION in aeroflex.A2023a from a string to 256 bytes

According to the manual, messages end with
- <newline>
- <newline> + END
- END

but when '\n' is used as RECV_TERMINATION, the driver timesout. Setting
a numbe of bytes will read upto 256 and return the result providing a
temporary workaround.
More changes regarding the logging of events
Added masip and jais to authors