add generated_order_ids, improve purchase_ids

purchase_ids contains only bids and rfqs, but has a confusing string
'Purchase Orders'. I keep the name purchase_ids to avoid breaking
everything.

The new field can be used to recover only the generated orders.
generated PO should be in state draft_po

In the core purchase_requisition module, the generated PO from a call
for bids is validated. That is done in a big method generate_po that I
don't want to override.

On the other hand, we added a new state draftpo that is useful exactly
for that situation: an order (i.e. not a bit nor a rfq) that is not
validated yet.

The workaround used here is to add a technical boolean field
keep_in_draft which is checked on the workflow transition. The field is
set in the generated PO so that it is not confirmed, and disabled
immediately after, so that the order can be validated manually
afterwards.

A context cannot be used here because it is not passed via the workflow.

I updated the YAML test to check that the generated order is really in draft.
bump purchase_requisition_bid_selection
improve docstrings, remove spurious comment
test keep_in_draft is disabled
split tests of purchase_rfq_bid_workflow

purchase_requisition_bid_selection adds a field in the purchase order,
and sets a workflow transition to check it. That works fine in
production, i.e. both the field and the transition are available to
modules upstream (like purchase_requisition's generate_po() ).

On the other hand, when the tests of purchase_rfq_bid_workflow are run,
they do not see the fields added by modules downstream, but they see the
changes to the workflow, giving a test failure.
Merge pull request #64 from lepistone/generate-draft-po

purchase_requisition_bid_workflow: generated PO should be in state draft_po