Patch for review and commit

I have built from the trunk (.29).
There were some things that did not work correctly.
I have fixed them and would like someone to review and hopefully commit the patch.

The patch implements:
48 bit ide lba addresses. 28 bit lba addresses were implemented but 48 bit was not and it is required for larger disks (> 137G) .
Extended partition tables were mostly there and just needed fixing.
Fixed an exception that sometimes caused the cd to fail to load while booting from the cd. The cause was that read atapi commands did not deal with padding.

My laptop has a 500Gb hard drive and I wanted to test some of JNode's file systems.
So I shrunk the main partition and added a fat16, fat32 and ntfs partition to the end of the drive.

The patch was first so that I could see the main partition (about 495Gb) and then so I could see the added partitions.
The laptop is running windows so it has a (hidden) boot partition (about 100M) as well as the main partition so that with three more that makes five. The last two in an extended partition.

I did note during my testing that fat16 works in the extended partition table but not in the normal partition table.