Added options to start_server for storing output

start_server() now takes two optional parameters, output and error.

These should be file handles, or None. If None, then the output is sent to /dev/null.
Added support for verbs that could have features
Removed the necessity to have features in lists.

This shouldn't have been the case, anyway. Note, this will break any system
using the code already.
Added support for the features PASSIVE and PERFECT

Currently they do not appear to work...
Updated bin/nlgserv to take two additional optional parameters

If given two filenames it will try and use those as places to log output and error.