fcm make: *.prop declaration enhancements

Support class property. E.g.:

```cfg
step.class[build-this build-that]=build
# Set default Fortran compiler for all steps in the "build" class
build.prop{class,fc}=my-fc
```

Build and preprocess systems support target keys as property name-spaces. E.g. If the source file in the name space `my/programs/myprog.f90` generates a target `myprog.exe` and you need to modify its setting only, you can do:

```cfg
build.prop{fc.libs}[myprog.exe]=grib netcdf
# Previously, you need to do:
# build.prop{fc.libs}[my/programs/myprog.f90]=grib netcdf
```

Close #8.
Close #57.