Update bootcal.js

Going with dynamic date numbers and table rows in order to accomodate short months, long months, and months that start late in the week.