How does storing the witness outside of the block prevent malleability? I have some question on how segregated witness work.

I'm reading this post and in the answer exist this phrase 


  Since signature data (witness data) is stored outside the transaction (and outside the standard block), it means that that data doesn't have to be counted towards the block size. 


Now I have three questions on this argument


The data of the scriptSig is moved from TransactionInput to RawTransaction, so the RawTransaction doesn't have malleability? Maybe I can't imagine what really happened to non-witness transactions during malleability, can you give me an example?
Why is the witness data stored outside of the block? What do you mean? I think I don't understand the sense of this space-saving because the witness data is present inside the blk file
How (If I understand correctly) does Bitcoin Core use the Merkle tree for verifying the signature? (this question is related to the first, I don't think I understood the phenomenon of malleability as it happens)
The data of the scriptSig is mooved from TransactionInput to RawTransaction, so the Raw transaction doesn't is malleability? maybe I can't imagine what really happened to non-witness transactions during malleability, can you give me an example?


The transaction ID is a hash of the entire transaction data structure (the version, inputs, outputs, signatures, number of inputs and outputs, locktime, everything). Elliptic Curve signatures, such as the ones used by Bitcoin, contain a random number as part of the signature. Using another random number will also lead to a valid, but different signature. If the signature changes, the hash of the entire transaction object would also change.

In segregated witness transactions, this signature data is not part of the base transaction data structure - this means that changing the signature will no longer change the txid, since the rest of the transaction has not been altered.


  Why the witness data is stored outside the block? what do you mean? I think I don't understand the sense of this space-saving because the witness data is present inside the blk file


Moving the witness data outside the block allows Bitcoin to effectively pack more transactions into a block - The space previously used by all the signatures is now available to add more transactions.


  How (If I understand correctly) bitcoin core use the Merkle-tree for verifying the signature? (this question is related to the first, I don't think I understood the phenomenon of malleability as it happens)


Merkle trees having nothing to do with signature verification. Merkle trees are used to build a commitment to which transactions are included in a block, which is then placed in the block header and locked in using the proof of work system. Transaction malleability affected this, since altering a transaction ID within the transactions selected for the block would alter the merkle tree - this is no longer possible for the reasons stated above.