LP1193095 lineitem batch actions sanity filters

Avoid applying the following actions to lineitems which are in a state
where each action makes no sense.

The following actions are affected.  For each, the set of states for
which a lineitem must be in for the action to proceed is listed.

create PO
    - new selector-ready order-ready approved
add to PO
    - new selector-ready order-ready approved
create invoice
    - !cancelled
add to invoice
    - !cancelled
cancel lineitem
    - !cancelled
mark selector ready
    - new
mark order ready
    - new selector-ready
mark received
    - pending-order on-order

Depending on the interface, some top-level lineitem actions may be
globally disabled.  The list of states listed above represent the bare
minimum requirements.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>