Did you mean someone with more mdadm experience? Because you don't mention LVM anywhere in your post. ;-)
I don't know why you're seeing 1 spare device... the array was built correctly using 4 devices (otherwise you wouldn't have 3GB available)... I just checked on my system which has 3 devices in the array, and it says "3 devices, 0 spares" as expected.
For question #2 -- are you asking why you only show 2794GiB instead of 3TB? The answer is that some of the math is done in decimal (i.e. a "gigabyte" is 1 billion bytes) while some of it is done in binary (i.e. a "gigabyte" is 2^30 bytes)...
the difference is about 7%, and if you reverse the calculation of "three terabytes" back into binary math, you get right at the 2.79 TB reported above...
Code:
name in power form # of actual bytes
-------------- -------------- --------------
binary gigabyte 2^30 1,073,741,824
decimal gigabyte 10^9 1,000,000,000
"three TB in hard drive speak" 3,000,000,000
"three TB in binary speak" 2,793,967,724