fix business day calculation
This will fix the so far broken calculation of business day periods and the corresponding tests reported

closes #5203.

The expected behaviour found in the present tests is that the date is always rolling forward to the next business day:

```
Friday:   Period('2012-3-09', freq='B') => '2012-03-09'
Saturday: Period('2012-3-10', freq='B') => '2012-03-12'
Sunday:   Period('2012-3-11', freq='B') => '2012-03-12'
Monday:   Period('2012-3-12', freq='B') => '2012-03-12'
```

Can anyone confirm this?

For reference, what do any other periods do when the date passed in does not actually match the desired frequency. 
 @wuan thanks for the PR!
