0
Vitsy, 18 17 bytes
So close. Yus. I am now winning amongst non-built in quiners! glares at Seriously
zl4M([&'rd3*8\}]Z
z Grab ALL THE INPUT! :D
l4M([ ] If the input is a multiple of four, do the stuff in brackets.
& Generate a new stack and move to it.
'rd3* Standard quine.
8\} Push the bottom 8 items of the stack to the top.
Z Output the current stack.
There's no reason for me to go after the bonuses - they'd chuck on a lot more bytes.
Cheating quine version, 12 bytes:
zl4M([&iG`]Z
zl4M([& ]Z Same as above.
i Push -1.
G Get the name of the file with this index of use (-1 is self)
` Read the file with the given name and push its contents to the stack.