Resetting the Arduino with code and no button?

My reason is wanting to upload firmware updates with no physical connection to the machine

Then you are going about it all wrong if you think you have to reset the processor. Because you can't do a reset from the boot loader, it involves resting some of the hardware that the bootloader will not be able to touch.