in each v2 microcode entry, make timeout_event explicit
A FOR statement with an empty body is hard to read.  Use "continue" as body.
tidy; get rid of some gotos
Merge branch 'master' into hugh-2014may
- move common code into start_dh_v2
- delete commented-out code dealing with encrypt_algo
- rename "init" to "role" many places where appropriate
  (and delete associated outdated and unclear comments)
- change type u_int16_t => oakley_group_t where appropriate
respect the type system.
- use PROTO_v2_* in ikev2 code.  Gave up part way through because it is quite a mess.
- replace 0 by OAKLEY_GROUP_invalid where appropriate
- replace 0 with PROTO_v2_RESERVED where appropriate
- replace u_int16_t with enum ikev1_oakley_attr where appropriate
- replace u_int8_t/int with enum next_payload_types_ikev1 where appropriate
- replace u_int8_t/unsigned int with enum next_payload_types_ikev2 where appropriate
- replace u_int16_t with v2_notification_t where appropriate
- replace int with enum ikev2_trans_type_integ where appropriate
- replace int with enum enum ikev2_trans_type_prf where appropriate
- replace u_int8_t with enum ike_cert_type where appropriate

- simplify code to eliminate variables
- renamed process_informational_ikev2 => process_encrypted_informational_ikev2
- eliminated some tests for payloads that are redundant due to state microcode
Merge branch 'master' into hugh-2014may
Try to correctly model v2 Transform Attribute Types.
packet.c: diplay the name for IKEv2 transform ID.
This required adding a slightly baroque mechanism, ft_enum_enum.
It may enable the removal of ad hoc checking code.
separate declarations from statements with a blank line
Merge branch 'master' into hugh-2014may

Conflicts:
	programs/pluto/db_ops.c
	programs/pluto/db_ops.h
	programs/pluto/ikev2_spdb_struct.c
simplify and tidy db_ops.c:
continue work of ad54b968198a3c59be6f61138441fc918f01289f
Merge branch 'master' into hugh-2014may

Paul's df302ad73dad34cee4cd6a4ebffb9b7562dea082
overlapped with Hugh's 0e00834183923af6209900f36839be3431ddfb09

Conflicts:
	programs/pluto/db_ops.c
Merge branch 'master' into hugh-2014may

Fix STF_TOOMUCHCRYPTO handling

Conflicts:
	programs/pluto/ikev2_parent.c
Merge branch 'master' into hugh-2014may
Separate ikev_idtype_names and ikev2_idtype_names.
Separate ikev_cert_type_names and ikev2_cert_type_names.
Make more strict -- only support values in standards.
Reverses part of f58b43e2c3b4089445992d93e46407b8bd84339b
Simplify safely printing IP addresses:

- add ipstr (with ipstr_buf) as a re-entrant replacement for ip_str

- add it in such a way that any of our code can use it:
  kernel or userland, programs or libraries, pluto or utilities,

- remove ip_str (defined in odd places)

- replace addrtot calls with ipstr calls wherever advantageous.

- incidentally: tidy lots of adjacent code.
Merge branch 'master' into hugh-2014may
Merge branch 'master' into hugh-2014may
ikeping:
- print the program name in each message
- don't use continue when break is meant
- handle unknown flags gracefully
- detect and report internal error in flag processing