adding persistable interface, making Function persistable, minor updates to observable

Signed-off-by: Alex McCaskey <mccaskeyaj@ornl.gov>
3 jobs for master in 6 minutes and 38 seconds (queued for 2 seconds)
Name Stage Failure
failed
docker build Build
  File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/response.py", line 244, in _error_catcher
raise ProtocolError('Connection broken: %r' % e, e)
requests.packages.urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(104, 'Connection reset by peer')", ConnectionResetError(104, 'Connection reset by peer'))
You are using pip version 8.1.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c apt-get update -y && apt-get install -y libblas-dev liblapack-dev && python3 -m pip install ipopo configparser numpy scipy' returned a non-zero code: 2
ERROR: Job failed: exit status 1