Teach ArrayRefWithPadding to make a const flavour
Sometimes code that has a non-const view of padded memory needs to be
able to have a const view of that memory, e.g. to pass to a routine
that does not need to be able to modify. Now there is a member
function to do that. Note that the private data means that it is not
easy to construct the const view from the non-const view, because they
are different instantiations of the same template, so formally are
different types. However there is now a convenience overloaded
constructor so that passing a non-const view to a function that takes
a const view will work.
Also fixed the swap member, which fortunately was unused.
Change-Id: I52095fe3b5d5dd24b86698da2a065c0fd1f3fb0b