Starting to implement the push file portion.

Signed-off-by: Adam Yeager <adam.yeager@gmail.com>