I will attempt to answer some parts of my own question.
Short answer: All of them.
We define curves over Fields which have size n. We then operate in some subgroup of it, which has size/order r.
The cofactor is calculated by doing n/r . if the cofactor is equal to 1, then it means that n = r and the subgroup is equal to the whole field.
I would like to say by intuition that this means that since the co-factor is an integer. If n is prime, then the co-factor is either n or 1. The case where the co-factor is n means that the subgroup has one element. Could this be the empty set? or just the neutral element?
The case where the co-factor is one would be the only logical or useful case, which means that the subgroup is equal to the order of the field. My intuition tells me that every prime field would therefore creator subgroups that are equal to it's size.
If n is not prime, then this means that there are other numbers that it can divide by. 8 and 4 seem to be special numbers.
I would like to say that we the 8 and 4, or any multiple of two, pops up because these curves normally have orders of 2^m.
h = 2^m / r => r must be even and so must h. Does this imply that h must be a multiple of 2?
Yes. h*r = 2^m => that h and r must be multiples of 2.
I've not seen curves with odd primes, however I do not see any reason for there to not be any.
I have seen a Twisted Edwards Curve with prime order, but also had a
co-factor, was I mistaken?
From my deduced understanding, it must have had a order that was 2^m.
I read that non-primes only have co-factors, but Edwards have a
co-factor and it is defined over Fp s.t. P = 2^255 -19 which is prime
right?
A quick google search would have shown that this number ended in 6 and so is even.
Am I right in saying that P256 for example, has no co-factor because
it is of prime order?
Co-factor is one.
How is the co-factor created, some have co-factor 4 and some have
co-factor 8?
I explained this part above where they have an order of 2^m
I'm not quite clear on how to find a G s.t. it has a small subgroup and I am not sure how multiplying a point by the co-factor "puts it in the subgroup" . Will open another question for this.