need to wrap available headers in a ko.observableArray - took me a while to find your mistake too!
self.availableHeaders = ko.observableArray([
new MappedHeader("Company"),
new MappedHeader("Address 1"),
new MappedHeader("Address 2"),
new MappedHeader("City"),
new MappedHeader("State"),
new MappedHeader("Zip"),
new MappedHeader("Country")
]);
edit: The error was saying that the sourceParent, the container the object is being moved from, does not have the remove() function. It doesn't have the remove function because it is not a ko.observableArray. So to fix this I wrapped the array with ko.observableArray() and now it has all the built in KO functionality.