fn tests: functional test framework

make test-functional - runs our tests
run_tests.sh - a harness that runs all other test_*.sh tests
test.inc.sh - common code and functions for tests
fn tests: document writing functional tests
fn tests: enable testing on Travis
optrecurse: order the format types string

Otherwise its hard to test the list as the order always changes.
argparse: ensure argparse for 2.6

argoarse is included in 2.7, so we only need this for 2.6.  On 2.7 the
system should already be supplying this, on 2.6 it will most likely be
installed or upgraded.
fn tests: pocount no args
fn tests: pocount -h test
fn tests: pocount of single po file
fn tests: pocount mutually exclusive options
fn tests: pofilter listfilters
fn tests: pofilter --manpage
fn tests: prop2po no param
fn tests: prop2po simple file conversion
fn tests: prop2po processing directories