Repository: NeurodataWithoutBorders/pynwb

Issue:
BehavioralEvents does not write to hdf5 file
Using minimal example below to create an nwb file and a BehavioralEvents time series, groups for the processing module and for the BehavioralEvents container are created. However, the data is missing from the hdf5 file after writing the data. 

Can be fixed by changing 'timeseries' in BehavioralEvents attr to 'time_series'

    - ObjectMapper is reading from the wrong attribute. 

### Steps to Reproduce
```
from datetime import datetime
import numpy as np
from pynwb.behavior import BehavioralEvents
from pynwb import NWBFile, NWBHDF5IO, TimeSeries

nwbfile = NWBFile(source='nwbfile_source',
                  session_description='nwb_file_session_description', 
                  identifier='0',
                  session_start_time=datetime(2017, 5, 4, 1, 1, 1))

ts = TimeSeries(name='behavioral_events_name', source='behavioral_events_source', 
                  data=[1.0,2.0,3.0,4.0],
                  timestamps=[5.0,6.0,7.0,8.0]
                  unit='ms', 
                  resolution=np.nan,
                  conversion=np.nan)

behavioral_events = BehavioralEvents('Behavioral_Events_source',name='BehavioralEvents_name')
behavioral_events.add_timeseries(ts)

behavior_module = nwbfile.create_processing_module('behavioral_module_name', 
                                                   'behavioral_module_source', 
                                                   'example module')
behavior_module.add_container(behavioral_events)

with NWBHDF5IO('test_behavior.nwb', mode='w') as io:
   io.write(nwbfile)
```
### Environment
Please describe your environment according to the following bullet points.
- **Python Executable:** Python
- **Python Version:** Python 2.7
- **Operating System:** macOS
- **Pynwb Version:** 0.3.0


Discussion:

Patch:
diff --git a/src/pynwb/behavior.py b/src/pynwb/behavior.py
index e3cc84de..d73adcf1 100644
--- a/src/pynwb/behavior.py
+++ b/src/pynwb/behavior.py
@@ -102,7 +102,7 @@ class BehavioralEvents(MultiContainerInterface):
         'get': 'get_timeseries',
         'create': 'create_timeseries',
         'type': TimeSeries,
-        'attr': 'timeseries'
+        'attr': 'time_series'
     }
 
 
@@ -120,7 +120,7 @@ class BehavioralTimeSeries(MultiContainerInterface):
         'get': 'get_timeseries',
         'create': 'create_timeseries',
         'type': TimeSeries,
-        'attr': 'timeseries'
+        'attr': 'time_series'
     }
 
 
@@ -135,7 +135,7 @@ class PupilTracking(MultiContainerInterface):
         'get': 'get_timeseries',
         'create': 'create_timeseries',
         'type': TimeSeries,
-        'attr': 'timeseries'
+        'attr': 'time_series'
     }
 
 


Test patch:
diff --git a/tests/unit/pynwb_tests/test_behavior.py b/tests/unit/pynwb_tests/test_behavior.py
index 2a23b19d..985486b8 100644
--- a/tests/unit/pynwb_tests/test_behavior.py
+++ b/tests/unit/pynwb_tests/test_behavior.py
@@ -30,7 +30,7 @@ class BehavioralEventsConstructor(unittest.TestCase):
 
         bE = BehavioralEvents('test_bE', ts)
         self.assertEqual(bE.source, 'test_bE')
-        self.assertEqual(bE.timeseries['test_ts'], ts)
+        self.assertEqual(bE.time_series['test_ts'], ts)
 
 
 class BehavioralTimeSeriesConstructor(unittest.TestCase):
@@ -39,7 +39,7 @@ class BehavioralTimeSeriesConstructor(unittest.TestCase):
 
         bts = BehavioralTimeSeries('test_bts', ts)
         self.assertEqual(bts.source, 'test_bts')
-        self.assertEqual(bts.timeseries['test_ts'], ts)
+        self.assertEqual(bts.time_series['test_ts'], ts)
 
 
 class PupilTrackingConstructor(unittest.TestCase):
@@ -48,7 +48,7 @@ class PupilTrackingConstructor(unittest.TestCase):
 
         pt = PupilTracking('test_pt', ts)
         self.assertEqual(pt.source, 'test_pt')
-        self.assertEqual(pt.timeseries['test_ts'], ts)
+        self.assertEqual(pt.time_series['test_ts'], ts)
 
 
 class EyeTrackingConstructor(unittest.TestCase):