Simply put, pistons on steroids. It would have to be powered by an electrical current (Duh!) and would have no limit on the number of blocks it can push. It would also launch entities about twice as much as Hippolomatus' pistons. However, it would work slightly differently. There would be 2 blocks- A magnetic block and an electromagnet. The electromagnet would be powered by electricity and, when activated by redstone, it would push all magnetic blocks along a straight line from it within 16 blocks in the way a piston would, but ignoring blocks in the way and being able to push as long as there was no bedrock or reinforced stone in the way. So you could have something like this for your self-reconstructing home:
XDDOMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
on the bottom row, where x=electromagnet, D= dirt, O= air, M=Magnetic block, and C= cobble.
But you ask, How do I move my magnets back again after launching them halfway around the map? Simple. With a reverse electromagnet, which is basically the same, except it pulls instead of pushing. Magnets would be crafted probably like so:
RIR
RIR
RIR
Where R=Redstone, and I=Refined Iron.
Electromagnet would be something like
CCC
CMC
CQC
Where C=Cable, M=machine Block, and Q=Circuit Board Thingy (I forgot the name of it)