Buffer operation

Dave,

I needed to perform a buffer - here's the code I came up with.

I've addressed a shallow copy issue I was experiencing - the same issue I found (but haven't fixed) in the Project operation (#4)

Cheers,
Leigh.