Add retry mechanism for Yaesu "newcat" backend

After some  testing with an  FT-450 it is  apparent that Yaesu  use at
least some of the busy/invalid  CAT responses that Kenwood document in
their current CAT protocol. The  response received from the FT-450 was
a "?;" from occasional "IF;" commands. In the Kenwood World this means
that  the  command  cannot  be   processed,  this  could  mean  it  is
unrecognized  or it  could  be  a transient  condition  while the  rig
processor is busy. The Kenwood backend  has the ability to retry after
this and some other error responses.

Since the  Kenwood error  response codes are  unambigous in  the Yaesu
language this change implements a  similar protocol for Yaesu "newcat"
backends.  Each  backend may  choose how many  reties by  defining the
'retry' parameter in the rig capabilities structure.

Also cleaned up a lot of code duplication.
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open

The current version  of hamlib cannot cope  with unsolicited responses
from rigs  therefore AI  mode should  be turned off  on any  rigs that
support it in case a previous program left it on.
Add retry mechanism for Yaesu "newcat" backend

After some  testing with an  FT-450 it is  apparent that Yaesu  use at
least some of the busy/invalid  CAT responses that Kenwood document in
their current CAT protocol. The  response received from the FT-450 was
a "?;" from occasional "IF;" commands. In the Kenwood World this means
that  the  command  cannot  be   processed,  this  could  mean  it  is
unrecognized  or it  could  be  a transient  condition  while the  rig
processor is busy. The Kenwood backend  has the ability to retry after
this and some other error responses.

Since the  Kenwood error  response codes are  unambigous in  the Yaesu
language this change implements a  similar protocol for Yaesu "newcat"
backends.  Each  backend may  choose how many  reties by  defining the
'retry' parameter in the rig capabilities structure.

Also cleaned up a lot of code duplication.
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open

The current version  of hamlib cannot cope  with unsolicited responses
from rigs  therefore AI  mode should  be turned off  on any  rigs that
support it in case a previous program left it on.
Merge branch 'yaesu-retries' of ssh://git.code.sf.net/u/bsomervi/hamlib into yaesu-retries
RIG_OK is zero and need not be negated and this will not change