Merge pull request #167 from keithj/devel

Added dcterms:audience metadata to raw, aggregate Fluidigm data
Fixed behaviour of WTSI::NPG::iRODS::Path get_avu for missing AVUs
Fixed quoting of shell commands.
Moved deletion of temporary results to the end of the test.
Fixed deprecated syntax.
Added audience_uri attribute to WTSI::NPG::Genotyping::Fluidigm::Publisher
Merge pull request #171 from keithj/devel

Bug fix and enhancement cherry-picks from precise branch
first (horrendous) Moosy wrapper round igroupadmin
rationalise code removing debug structures which were in place get initial working version
Tidy and abstract some funcitonality into new methods
Add some docs, perlcritic fixes, fix bug in stripping on running a second command.
Bugfix and use of environment at object creation time

Prevent occasional hangs (especially) if first command was lg on a small group.

Ensure the harness is started at obejct creation time so that igroupadmin will inherit environment of that scope (rather than later at time of first method call).
More thorough parsing of lg output

remove 'No rows found' when no results
croak on not finding "Members of group" when asking for a groups membership
cope with groups with spaces and croak if asked about a nonexistent group
Added external program wrapping classes
work around Run::IPC caching
Added started flag to Startable to hold state

Made classes immutable
Added wrapper classes for baton client programs
Added new iRODS implementation using baton wrappers
Add set_group_membership method and improve error handling
Ported Fluidigm and Sequenom data management to new iRODS modules

Added an attribute to Executable objects to store a copy of the shell
environment for use, rather than using the current one.
Ported Infinium data management to new iRODS modules.

Ported most of Expression data management to new iRODS modules (except the Publisher).

Refactored to remove old iRODS module.