President Donald Trump has fired Mark Esper as Pentagon chief, marking the end of a strained relationship. In June, Mr. Esper had publicly opposed the president who wanted to send active duty troops to quell civil protests.