<bugfix>Don't mask AttributeErrors when materializing pipelines</bugfix>
<bugfix>Don't mask AttributeErrors when materializing pipelines</bugfix>

It was hard to track down some errors when materializing pipelines
because the perform_operation enclosed both the getattr call and the
actual method call in a try/except AttributeError block.  This masked
any AttributeErrors in lower-level calls (e.g. db_add_object,
db_delete_object).  This has been fixed so such errors are not masked.
In addition, the create_operation call is streamlined so that the
add_*, change_*, delete_* calls have the same parameters as the
low-level db_add_object, db_change_object, ahnd db_delete_object
calls.

core/vistrail/pipeline.py:
  - Pipeline.perform_operation: don't mask AttributeErrors in
    lower-level calls, streamline so syntax for overridden calls
    matches that of the base db_* calls
  - Pipeline.add_module: provide a slightly more informative error message
  - Pipeline.add_parameter: new parameter ordering
  - Pipeline.delete_parameter: new parameters and ordering
  - Pipeline.change_parameter: new parameter ordering
  - Pipeline.add_port: new parameter ordering
  - Pipeline.delete_port: new parameters and ordering
  - Pipeline.change_port: new parameter ordering
  - Pipeline.add_portSpec: new parameter ordering
  - Pipeline.delete_portSpec: new parameters and ordering
  - Pipeline.change_portSpec: new parameter ordering

hjanime/VisTrails,VisTrails/VisTrails,celiafish/VisTrails,Nikea/VisTrails,minesense/VisTrails,hjanime/VisTrails,celiafish/VisTrails,hjanime/VisTrails,VisTrails/VisTrails,VisTrails/VisTrails,VisTrails/VisTrails,minesense/VisTrails,celiafish/VisTrails,minesense/VisTrails,minesense/VisTrails,hjanime/VisTrails,minesense/VisTrails,celiafish/VisTrails,Nikea/VisTrails,hjanime/VisTrails,VisTrails/VisTrails,Nikea/VisTrails,Nikea/VisTrails