Start logic for shared libs as well as various cleanups
Add MVM_PUBLIC/MVM_PRIVATE with dummy condition for now
Do NOT put MVM_SHARED into config.h

We want to support both static and dynamic libs with the
same headers.
Simplify MVM_PUBLIC/MVM_PRIVATE logic.

If we go ahead with this factoring, MVM_BUILD_SHARED and MVM_SHARED
need to be passed as compiler flags.

The former will be added by Configure.pl, the latter must be
specified by library users.

Note that not supplying MVM_SHARED when using the dynamic lib
should work in principle, but comes with a performance penalty
on Win32.
Add space after -o to make Solaris happy
Merge branch 'master' into dll

Conflicts:
	Configure.pl
	build/setup.pm
Header bikeshedding
Cleanup build/*.pm
Pull in latest Linenoise
Let Configure.pl update submodules.

It's not perfect, but I failed to come up with anything better.
More stuff we need to eventually build a shared lib
Merge branch 'dll'