It is a free market in which price is controlled by supply/demand. Someone who want to buy even 1 million BTC will drive price to the sky.
I was going to suggest that such a buyer could buy small amounts at a time. But then I realized that in order to accumulate 1M BTC in a reasonable amount of time, he/she would probably end up increasing the daily volume of multiple exchanges by 5-10% or more. That would certainly add a lot of buoyancy to the market.
Buying all of the bitcoin outstanding would actually decrease the value of bitcoin for the new owner as part of the reason bitcoin has the value that it has is because it is used for trade, if only one person owns all the bitcoin then it can no longer be used for trade (you can't trade with yourself).
It is more interesting to estimate the minimum amount of bitcoins required to effectively control major bitcoin markets (exchanges). There are many big whales out there (according to
rpietila and his
thread, 70 individuals hold together around 3.6M bitcoins), but they seem to be mostly inactive, so this amount shouldn't be great.