Split Orders / Consignments

We have a client with the need to allow users to make multiple orders but only pay once. The use case is something like a corporate customer buying each of his/her best clients christmas gifts. The corporate customer could add everything to the basket, and then split the order into different "Consignments". Each client could live in a different country, so taxation and shipping restrictions must still apply to each individual consignment. (Amazon.com have a nice implementation of this themselves)

We're trying to work out how to model this best within Spree. We have tried adapting the existing checkout process to add extra steps, but would like model this requirement *properly*. I know this is a somewhat esoteric requirement. So, as a first draft:

* `Order --> LineItem` becomes `Order --> Consignment --> LineItem`
* A consignment would deal with taxation, shipping etc.
* An order would sum up the cost of consignments and deal with payment details, checkout flow etc. as normal. It would also retain most of its existing interface, merely delegating details to the individual consignments where appropriate.

Obviously this would require a fairly large change to `spree_core`, is there any more appetite for a feature like this, and do you think this would be a decent approach? We would like to implement this in such a way that it could be merged back into core if there was enough interest.

Please see this PR for our first pass at implementing this, it's not even 10% complete, but we wanted your advice! Curious to any thoughts you may have.