Refactor. Adding default behavior for tunnels.

Note: Here I added some default behavior for tunnels. All new tunnel
should embed the base struct and *ONLY* override the matter methods.

Signed-off-by: Madper <madper.xie@canonical.com>
Add lz4 compression tunnel
Merge pull request #3 from lpy/lz4

Add lz4 compression tunnel.
fix lz4 compression problem
Merge pull request #5 from lpy/lz4

fix lz4 compression problem