Fix the graphs for large mapreduce jobs

Summary:
There were two problems with the graph of mapreduce shards for jobs that had a lot of shards: 1) the URL was exceeding the max-length, and 2) the bars did not fit within the 700px width.

To fix the first problem, I removed the logic that added custom labels to the graph when there are a lot of shards. This is equivalent to @tony 's hack of "removing everything aver the last `&`" when the uri-too-long error hits.

To fix the second problem, I added logic to calculate better widths with there are >95 shards.  I will attach some screenshots of these things in the first comment.

Test Plan:
```
from third_party.mapreduce import model
mrs = model.MapreduceState.all().fetch(100)

mymrs = [m for m in mrs if m.last_poll_time == datetime.datetime(2014, 3, 20, 19, 14, 7, 135616)][0]

mymrs.set_processed_counts([1, 3, 5], ["success", "success", "running"])
mymrs.put()

shards_90 = [i for i in range(90)]
shards_90s = [ "success" if i % 5 == 0 else "running" for i in range(90)]
mymrs.set_processed_counts(shards_90, shards_90s)
mymrs.put()

def update_shards(count):
    mymrs.set_processed_counts([i for i in range(count)], ["success" if i % 5 == 0 else "running" for i in range(count)])
    mymrs.put()
```

Reviewers: tony, tom

Reviewed By: tom

Subscribers: tony

Differential Revision: http://phabricator.khanacademy.org/D7574