Add vchan library

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>