remove Transactional annotation and narrow pom dependencies

yeah, they were transitive dependencies before. The StringUtils and Assert classes from spring-core are used in a couple places.

And the @Value annotation from spring-beans is used in the integration tests to make assumeConfigured work.

I like keeping my libraries slim when possible, so I may see about swapping out the StringUtils and Assert usages for google guava since in that context we are not using any core spring-core functionality. But that will be down the line, not something I'm going to focus on right now.