Power law graphs.
Given the power and the total number of vertices, determine the number of vertices
for each degree.
Generate these vertices, from high degree to low degree.
Build a table of end points, and a table of lowest acceptable other end points, and total endpoints following.
For each endpoint, generate the other end point with one random number. We look up the end point lowest follower
and generate a result from the lowest follower. Like this:

Suppose we have one degree three vertex, two degree twos, and three degree ones (adjust the last category to make total even.

IX EP  LO  REM USED
0  0   3   10  2
1  0   3   9   2
2  0   3   8   2
3  1   5   4   2
4  1   5   3   2
5  2   7   3   2
6  2   7   3   2
7  3   8   2   2
8  4   9   2   0
9  5   N/A 1   0

Process:
1. Select 0
   Lo = 3
   Rem[Lo] = 7
   Generate Random Number from 0 to 6.  3?
   Search from Lo, skipping used.
   (0,2)
   Oops! We're getting duplicate edges!.
   We need to remove 2 from consideration, temporarilly!
   We also need to avoid bias, so we can't simply add.
2. Select 1
   Lo = 3
   Rem[Lo] = 5
   Generate a random number from 0 through 4. 2?
   Add Lo to Rand = 5.
   Search, skipping non-zero
   (0,3)
3. Select 2
   Lo = 3
   Rem[Lo] = 4
   Generate a random number from 0 through 3. 1?
   Search from Lo, skipping used.
   (0,1)
4. Select 3.
   Change in from vertex, remove temporary used.
   Lo = 5
   Rem[Lo] = 3
   Generate a random number from 0 through 2. 0?
   Search from Lo, skipping used.
   (1,2)
5. Skip down to 8
   etc.
   (4,5)

The graph is not connected, but the edge count and degrees are correct.
Next, try to connect it.

Adjacency matrix:

0  1  1  1  0  0
1  0  1  0  0  0
1  1  0  0  0  0
1  0  0  0  0  0
0  0  0  0  0  1
0  0  0  0  1  0

Yes, this will work. But let's see what other people have done.
