Clarify behavior pd.Period and pd.PeriodIndex when using timestamp information
#### Code Sample, a copy-pastable example if possible

```python
index = pd.date_range("2001-01-01-08:00:00", freq="B", periods=10)
DatetimeIndex(['2001-01-01 08:00:00', '2001-01-02 08:00:00',
               '2001-01-03 08:00:00', '2001-01-04 08:00:00',
               '2001-01-05 08:00:00', '2001-01-08 08:00:00',
               '2001-01-09 08:00:00', '2001-01-10 08:00:00',
               '2001-01-11 08:00:00', '2001-01-12 08:00:00'],
              dtype='datetime64[ns]', freq='B')
index.to_period()
PeriodIndex(['2001-01-01', '2001-01-02', '2001-01-03', '2001-01-04',
             '2001-01-05', '2001-01-08', '2001-01-09', '2001-01-10',
             '2001-01-11', '2001-01-12'],
            dtype='period[B]', freq='B')
pd.Period("2001-01-01-09:00:00", freq=pd.tseries.frequencies.to_offset("D"))
Period('2001-01-01', 'D')
pd.Period("2001-01-01-09:00:00", freq=pd.DateOffset(days=1))
pandas/_libs/tslibs/period.pyx in pandas._libs.tslibs.period.Period.__new__()

pandas/_libs/tslibs/parsing.pyx in pandas._libs.tslibs.parsing.parse_time_string()

~/.miniconda3/lib/python3.6/site-packages/pandas/tseries/offsets.py in rule_code(self)
    394     @property
    395     def rule_code(self):
--> 396         return self._prefix
    397 
    398     @property

~/.miniconda3/lib/python3.6/site-packages/pandas/tseries/offsets.py in _prefix(self)
    390     @property
    391     def _prefix(self):
--> 392         raise NotImplementedError('Prefix not defined')
    393 
    394     @property

NotImplementedError: Prefix not defined

```
#### Problem description

I am struggling to understand the correct way to handle time information together with a Period/PeriodIndex. Assume my business day starts at 08:00:00 possibly in some specified time zone, then I would want to represent time periods spanning a business day starting at that time using a PeriodIndex. 

A DatetimeIndex can very well handle time information, and if it has a fixed frequency it does somehow imply the underlying periods of time, e.g. [2001-01-01-08:00:00, 2001-01-02-07:59:59].

I am not completely sure if the behaviour is correct/desired but the difference between DatetimeIndex and PeriodIndex is unintuitive/seems inconsistent to me. 

I am not sure if freq="B" (or "D") implies that start_time = 00:00:00 and end_time = 23:59:59
for all periods, but if so then this should be clarified via additional examples in the docs. Still the 
different behaviour of DatetimeIndex (where time 09:00:00 is respected) and PeriodIndex (where time is ignored / implicitly set to beginning of period implied by "B") seems inconsistent.

The failing example with `pd.DateOffset(days=1)` is also counterintuitive in the following sense. If `freq="D"` implies a fixed `start_time=00:00:00` and `end_time=23:59:59` then I want to be able to describe a time period with a length of one day starting at "2001-01-01-09:00:00" exactly the way that is now raising above exception.

#### Expected Output
```python
index.to_period()
PeriodIndex(['2001-01-01-08:00:00', '2001-01-02-08:00:00', '2001-01-03-08:00:00', 
             '2001-01-04-08:00:00', '2001-01-05-08:00:00', '2001-01-08-08:00:00',
             '2001-01-09-08:00:00', '2001-01-10-08:00:00', '2001-01-11-08:00:00',
             '2001-01-12-08:00:00'],  dtype='period[B]', freq='B')
```

The same for single Periods. 

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None

pandas: 0.23.4
pytest: None
pip: 10.0.1
setuptools: 39.2.0
Cython: None
numpy: 1.15.0
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: 6.5.0
sphinx: None
patsy: None
dateutil: 2.7.3
pytz: 2018.5
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 3.0.1
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 1.0.1
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
