Java 7, 812 726 673 644 634 616 599 148588 145 bytes + 10*44 = 588585
boolean
b(char[]b){String
g="";for(char
c:b)g+=g.format("%"+(1-1)+"8d",new
Integer.decode(Integer.toString(c,2)));return!g.matches(".*(.)\\1\\1\\1.*");}
I am using newlines instead of spaces to try to minimize penalty...
Binary
0110001001101111011011110110110001100101011000010110111000001010011000100010100001100011011010000110000101110010010110110101110101100010001010010111101101010011011101000111001001101001011011100110011100001010011001110011110100100010001000100011101101100110011011110111001000101000011000110110100001100001011100100000101001100011001110100110001000101001011001110010101100111101011001110010111001100110011011110111001001101101011000010111010000101000001000100010010100100010001010110010100000110001001011010011000100101001001010110010001000111000011001000010001000101100010010010110111001110100011001010110011101100101011100100010111001100100011001010110001101101111011001000110010100101000010010010110111001110100011001010110011101100101011100100010111001110100011011110101001101110100011100100110100101101110011001110010100001100011001011000011001000101001001010010010100100111011011100100110010101110100011101010111001001101110001000010110011100101110011011010110000101110100011000110110100001100101011100110010100000100010001011100010101000101000001011100010100101011100010111000011000101011100010111000011000101011100010111000011000100101110001010100010001000101001001110110111110101100010011011110110111101101100011001010110000101101110000010100110001000101000011000110110100001100001011100100101101101011101011000100010100101111011010100110111010001110010011010010110111001100111000010100110011100111101001000100010001000111011011001100110111101110010001010000110001101101000011000010111001000001010011000110011101001100010001010010110011100101011001111010110011100101110011001100110111101110010011011010110000101110100001010000010001000100101001000100010101100101000001100010010110100110001001010010010101100100010001110000110010000100010001011000110111001100101011101110000101001001001011011100111010001100101011001110110010101110010001010000100100101101110011101000110010101100111011001010111001000101110011101000110111101010011011101000111001001101001011011100110011100101000011000110010110000110010001010010010100100101001001110110111001001100101011101000111010101110010011011100010000101100111001011100110110101100001011101000110001101101000011001010111001100101000001000100010111000101010001010000010111000101001010111000101110000110001010111000101110000110001010111000101110000110001001011100010101000100010001010010011101101111101
Old bitshifting solution 141 bytes + 10*101 = 1,151
boolean
b(char[]b){
int
o=0,p=0,i;
for(char
c:b){for(i=0;i<8;){if((c&(1<<i++))<1){o=0;p++;}else{p=0;o++;}if(3<o|3<p)return
6<5;}}return
5<6;}
Binary
011000100110111101101111011011000110010101100001011011100000101001100010001010000110001101101000011000010111001001011011010111010110001000101001011110110000101001101001011011100111010000001010011011110011110100110000001011000111000000111101001100000010110001101001001110110000101001100110011011110111001000101000011000110110100001100001011100100000101001100011001110100110001000101001011110110110011001101111011100100010100001101001001111010011000000111011011010010011110000111000001110110010100101111011011010010110011000101000001010000110001100100110001010000011000100111100001111000110100100101011001010110010100100101001001111000011000100101001011110110110111100111101001100000011101101110000001010110010101100111011011111010110010101101100011100110110010101111011011100000011110100110000001110110110111100101011001010110011101101111101011010010110011000101000001100110011110001101111011111000011001100111100011100000010100101110010011001010111010001110101011100100110111000001010001101100011110000110101001110110111110101111101011100100110010101110100011101010111001001101110000010100011010100111100001101100011101101111101