trace(): implement options "include" and "exclude" to restrict fields tracing, write documentation:

 trace( name, options )

 Trace all operations: add / remove / update / clear / fetch / fetch results.

 Parameters:
   - name: (String) a name for all traces.
   - options: (Object) optional attributes:
     - counts_only: only provide counts of values from operations
     - include: (Array of Strings), attributes to include, exclusively
     - exclude: (Array of Strings), attributes to exclude from the trace. This option is
       ignored if option include is provided.
watch(): replace ~ with platform-dependant home directory path; write documentation:

 source.watch( options )

 Watches the content of a source dataflow of files.

 The source must describe files, using a "name" attribute. If the name does not start with
 '.' or '~', the nane is prepended with './' to read from the current directory.

 If the name starts with '~', this character is replaced by the home path, as determined by
 the environement variable "USERPROFILE" on win32 and "HOME" for other platforms.

 Example:
   xs.set( [
       { name: 'index.html'   },
       { name: 'contact.html' }
     ] )
     .watch()
   ;
xs.configuration( [ options ] ) implementation, documentation:

 Read (-only for now) a JSON configuration file and emits a dataflow of changes on that file
 .

 Parameters:
   - options: (Object) optional attributes:
     - configuration_filename: (String) the name of the configuration file to read, defaults
       to ~/config.xs.json