Let's try some Puppet module goodness
Ignore attempts to write past the end of the destination device

This could potentially cause some problems, but if you didn't notice that your
dd exploded, this probably isn't going to worry you too much either.
Executable file should be executable
Use more efficient file transfer method
Merge remote-tracking branch 'upstream/master' into PythonImplementation

Get the ruby code to the latest version to see any differnces to python code
In case the destination is smaller than the source, no error will occur.
error checking: check if files are readable/writeable
Origin option in usage description
Add usage template to explain how to use lvmsync