Bot.site property fails when set to None

- Allow None value to be given to Bot.site property setter.
- Fix ReplaceBot.__init__ to not set it to None.
- Provide an explicit site when running ReplaceBot from replace.main.

Any other caller of ReplaceBot will now receive a warning from
Bot.site getter if they have not specified a site for the
bot to use.

Bug: 73494
Change-Id: Ib98334d820ec2e8ea14d17cb1346ac287ba19a59