Yes, frequency spikes like that are normal - it is a feature of these CPU. Intel calls this "Turbo Boost", and allows for for example your 2.8 Ghz Core i7 processor to Turbo Boost up to 3.8 Ghz for peak loads. The CPU automatically handles Turbo Boost, and it is only allowed to happen when all necessary conditions are fulfilled - amongst those are that the temperature is not too high, the power consumption is not too high, and not all cores are actively "busy".
Temperature spikes are also perfectly normal. When the CPU is idle, it uses less power - and thus has a lower temperature than when fully utilizes. The maximum temperature you have recorded is 90 degrees - this is perfectly normal and well within the operating temperature range of the CPU.
As for the abrupt shutdowns of the computer - there are multiple possible causes of this - you haven't really demonstrated that overheating has anything to do with your problem, but check your fans and generally that the machine isn't full of dust. Other possible causes could be battery problems, a faulty sensor, etc.