Arduino AVR Programing
These answers apply to only the general case - I haven't used the Arduino IDE.


Does it upload just your program or does it include the bootloader too?


Just your program - bootloader will be overwritten unless someone made an effort to relocate where the image will be programmed in flash.  The Arduino IDE may do this but if you find that after you used the 'upload with programmer' option you can't talk to the board any other way, then the programer may have wiped out the bootloader.

Generally fusebits are not set during normal programming.  You have to specify that option.  Again, the Arduino IDE may have its own tricks, but generally you have to explicitly request the fuse bits be programmed.