In versions 10+, there is  [`FindTransientRepeat`](http://reference.wolfram.com/language/ref/FindTransientRepeat.html):

> - _FindTransientRepeat[list, n] returns a pair of lists {transient,repeat} where the elements of repeat occur successively at least n times at the end of list._
> - _FindTransientRepeat accepts an incomplete copy of the repeated sublist in the last position_
> - _The minimum number of repetitions refers to complete repetitions_

For the examples in the posted question 

    lists = {{19, 6, 19, 6, 19, 6, 19, 6, 19, 6, 19, 6}, 
             {73, 7, 4, 73, 7, 4, 73, 7, 4, 73, 7, 4, 73, 7},
             {73, 7, 4, 7, 2, 6, 7, 2, 7, 73, 9, 17, 7, 7}};

we get

    FindTransientRepeat[#, 2]& /@ lists
> {{{}, {19, 6}},  
  {{}, {73, 7, 4}},  
  {{73, 7, 4, 7, 2, 6, 7, 2, 7, 73, 9, 17}, {7}}}

We can define a function that processes the output of `FindTransientRepeat` to get the results in desired form:

    Clearall[repeatsF]
    repeatsF = Module[{ftr = FindTransientRepeat[#, 2], lst = #},
     If[First @ ftr === {}, {Length @ Last @ ftr, Last @ ftr}, {Length @ lst, lst}]]&;

     repeatsF /@ lists
> {{2, {19, 6}},   
   {3, {73, 7, 4}},   
   {14, {73, 7, 4, 7, 2, 6, 7, 2, 7, 73, 9, 17, 7, 7}}}