Merge pull request #66 from sergey-tihon/master

Documentation updated for issue #65
Add mono build script (#70) with Travis CI and add config file

This add limited support for Travis CI. At the moment, we only build
the R Provider and do not run the tests. This is future work - we need
to figure out how to install R on Travis first.

The commit also includes some work on adding configuration file
(which is completed in a later commit).
Concurrency fixes

Protect all access to RDotNet through RInterop using a lock on
RInit.engine. IDE stability issues, apparent parsing errors, and system
access errors are resolved by ensuring that the R environment through
RDotNet is accessed in a thread-safe manner.
Resolve RDotNet and plugin assemblies when installed via NuGet

When RProvider is installed via NuGet, the RDotNet library will be located
in "../../RDotNet-1.5.5/lib/net40" and when Visual Studio loads RProvider.dll,
it fails to resolve this dependency. Previously, we tried to copy the dependencies
to the right place with PowerShell script, but this 1) does not work on Mono,
2) does not work with RestorePackages, 3) sometimes does not work for other random
reasons. Similar difficulties are with plugins - e.g. Deedle plugin will also be
in a separate directory.

This checkin modifies RProvider, so that it can work with NuGet. We setup the
AssemblyResolve event handler in the static constructor of RProvider and we let the
user configure resolution via RProvider.dll.config. The NuGet package includes a
default config that makes things work. To make this work, the "RProvider" type that
sets up the AssemblyResolve handler needs to be loaded *before* any type that
references RDotNet. This did not quite work - e.g. `CharacterInterceptor` type inherits
from a type in RDotNet and if it gets loaded first, we are too late. So, this also
splits the project into `RProvider.dll` and `RProvider.Runtime.dll`. The first one
has the provider (and configures AssemblyResolve), but it does not reference RDotNet
directly, which makes the whole thing work.

The interfaces implemented by plugins are now in `RProvider.Runtime.dll`, so plugins
need to be updated. I did this for Deedle and it works fine.
Merge pull request #81 from tpetricek/master

Resolve RDotNet and plugin assemblies when installed via NuGet.
Incorporates concurrency fixes