Intention-revealing names in slugging_percentage

* This also makes the slugging_percentage calculation match the
  (inefficient but more demonstrative) version in the exercise notes,
  e.g. instead of hits + doubles, it makes more sense to say (hits -
  doubles) + 2*doubles to show that doubles are worth 2 points because
  the batter advanced two bases. Also, (hits - doubles - triples -
  home_runs) is actually just a roundabout way of expressing the stats
  "singles", or 1-base hits

* extracted singles method to return number of 1st-base hits

* extracted bases_advanced method so slugging_percentage can read
  exactly as the real stat: bases_advanced / at_bats